2002/2003/2007対応 Excel ビジネス現場ですぐに使える VBA&サンプル 150選!

概 要

本書は、現場でそのまま使用できて、業務効率が大幅にアップするExcel VBAの150の実践的なサンプルを解説した実用サンプル集です。Excel 2007の新機能を使った売上リストで特定期間のデータを簡単に抽出する方法はもちろん、2002/2003でも使用可能なサンプル、他のブックにある売上一覧をインポートする、社員名簿の電話番号を半角数字に統一する、顧客リストの顧客IDを振り直す、顧客リストで氏名の一部のみ指定して検索する、売上リストから売上の合計を求める、顧客リストの生年月日から満年齢を求める、勤怠管理表で出社時刻を15分単位で切り上げるなど、手作業で行なってきたExcel(エクセル)の動作がVBAを使えばボタン一つで実行可能になります。サンプルVBAを収録したCD-ROM付き。

著者 中村峻
価格 本体2300円(税別)
ISBN 978-4-7980-1892-8
発売日 2008/2/1
判型 B5変
色数 2色
ページ数 376
CD/DVD Windows
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

現在サポート情報はありません

目次

第1章 Excel 2007でさらに便利になった実用技(新機能)

001 大幅に大きくなったワークシートで、売上表の新規データの入力行を選択する

Step up ! 入力するための行を選択する

One Point ! Endプロパティを利用した場合

002 売上リストにテーブル機能を適用して入力や集計を楽にする

Step up ! 集計行を表示する

Step up ! 適用したテーブルを解除する

Step up ! ワークシート上のテーブルの数とテーブル名の一覧を表示する

003 売上リストで特定の期間のデータを簡単に抽出する

Step up ! オートフィルタを解除する

Step up ! セルに入力された日付を利用してデータを抽出する

004 売上リストで塗りつぶしの色を条件としてデータを抽出する

Step up ! フォントの色を条件としてデータを抽出する

Step up ! セルに指定した色で抽出する

Step up ! 新たに加わった条件付き書式のアイコンセットで抽出する

005 顧客リストで年代別に色分けされたデータを並べ替える

Step up ! フォントの色やアイコンセットで並べ替える

006 「金額」欄にグラフィック効果を付けて数値の大きさを視覚的に把握する

Step up ! 「金額」欄をランク付けして色分けする「カラースケール」を利用する

Step up ! ワークシート上の条件付き書式を削除する

007 「金額」欄のデータをランク分けして表示する

Step up ! ランク付けの基準を設定する

008 営業報告書を全体的に統一感のあるデザインにする

Step up ! セルの塗りつぶしにテーマカラーを指定する

Step up ! 塗りつぶしの色に濃淡を付ける

009 作業内容に応じて、ワークシートの表示方法を切り替えて効率的に作業する

Step up ! ヘッダーに書式コードを利用した情報を表示し、フォントの書式を設定する

Step up ! フッターの設定を解除し、標準のビューに戻す

010 売上表で指定した担当者の平均売上を求める

Step up ! 平均を求める条件を複数利用する

One Point ! Excel2007で新たに追加された主な関数

第2章 基本となる社員マスターや顧客マスターを作成するための実用技(入力)

011 Accessから出力されたアンケート結果のcsvファイルをインポートする

Step up ! 複数のワークシートに分割して取り込む

012 顧客表をデータベースで利用できるようにcsvファイルにエクスポートする

Step up ! 選択範囲のデータのみcsv形式で保存する

013 他のブックにある売上一覧をインポートする

Step up ! 元データを切り取り&貼り付けする

One Point ! 拡張子に注意

014 他のブックから売上一覧をインポートする際にシート名を指定する

Step up ! シート名に指定できない文字がある場合に処理する

015 顧客リストから重複データを削除する

One Point ! プログラムを1行ずつ実行し、動作を確認する

016 住所録の郵便番号データを「-」が付いたものに統一する

Step up ! 郵便番号のデータから「-」を削除する

One Point ! セル範囲の取得について

017 社員名簿の電話番号を半角数字に統一する

One Point ! 先に半角に変換し、効率よく処理する

018 インポートした顧客リストの顧客名にフリガナを振る

Step up ! 指定したセルの文字列にフリガナを振る

One Point ! 意図したフリガナが振られない

019 顧客リストで市区町村合併で変更になった住所を新しいものに置き換える

Step up ! セル範囲を指定して変換する

020 顧客情報から空白行を削除する

One Point ! SpecialCellsメソッドとエラー処理

021 顧客リストで1つのセルに入力されている氏名を「姓」と「名」に分割する

Step up ! Mid$関数を使用する

022 売上一覧の割引率など、重要なデータの入力されている列を非表示にする

Step up ! 列の表示・非表示を切り替える

023 個人情報など重要なデータが入力されているワークシートを非表示にする

Step up ! ワークシートを再表示する

024 売上データが入力された複数のワークシート名を、「月」の入ったワークシート名に一括で変更する

Step up ! 年をまたぐ場合にワークシート名を指定する

Step up ! 商品番号をワークシート名に付ける

025 支店ごとのデータが入力されたワークシートに一括で支店名を含んだ名前を付ける 78

One Point ! Cellsプロパティ

026 新たに顧客名を入力したときに顧客IDを自動的に振る 80

One Point ! 数字と数値

027 顧客リストの顧客IDを振りなおす

Step up ! もとの顧客IDをとっておく

028 顧客リストのフリガナの半角・全角を統一する

Step up ! カタカナは全角、アルファベットや数字は半角に統一する

029 住所録の住所や名前の空白の大きさを統一する

Step up ! 住所録全体からスペースを削除する

030 住所録の住所や名前の余分な空白を削除する

Step up ! 先頭、または最後の空白のみ削除する

031 顧客リストの住所から都道府県名だけを取り出す

Step up ! 都道府県名以外の住所データを取得する

032 顧客リストの「都道府県名」と「住所」のそれぞれが入力されたセルを、データを失うことなくマージする

One Point ! データの結合方法

033 5日ごとに売上データの小計を求める計算式を入力する

Step up ! 任意の間隔で日数を指定する

034 売上一覧から担当者ごとのワークシートを作成する

Step up ! 作成するワークシートを担当者名の五十音順にする

One Point ! ResizeプロパティとOffsetプロパティ

035 顧客リストの指定した範囲のみを印刷する

Step up ! 離れている複数の範囲を印刷範囲に設定する

Step up ! 実際に印刷する

Step up ! 印刷範囲を解除する

036 ネットから取得したデータの余分なセル内改行を削除する

Step up ! すべてのセル内改行を削除する

037 顧客リストのメールアドレス欄のハイパーリンクをはずす

Step up ! ハイパーリンクを設定する

Step up ! ハイパーリンクのリンク先を開く

038 顧客リストにメールアドレスを入力する時にハイパーリンクが設定されないようにする

Step up ! 列を限定せず、メールアドレスにはハイパーリンクが設定されないようにする

One Point ! 特定のセルを監視する

039 会員リストで18歳以上の年齢が入力されないとメッセージを表示する

Step up ! 日付かどうかをチェックする

040 顧客リストのメールアドレスをチェックする

Step up ! データ入力時にメールアドレスをチェックする

One Point ! その他のチェック方法

第3章 膨大な顧客リストや売上リストから効率よく必要なデータを探すための実用技(検索・抽出)

041 顧客リストから指定した顧客名を検索する

Step up ! 検索する顧客名をInputBoxに入力させる

042 顧客リストで指定した顧客名を検索し、見つかった最初のセルのアドレスを取得する

Step up ! アドレスを相対参照として表示する

043 顧客リストで氏名の一部のみ指定して検索する(検索機能の利用)

Step up ! 同じ条件で続けて検索する

044 顧客リストで氏名の一部のみ指定して検索する(正規表現の利用)

Step up ! 検索文字列が複数見つかった場合に、1つだけ処理する

045 顧客リストから女性の顧客のみ抽出する

Step up ! オートフィルタを連続してかける

046 顧客リストから30歳以上の人を抽出する

One Point ! 抽出条件について

047 顧客リストから住所が「神奈川県」の顧客を抽出する

Step up ! 曖昧な条件でデータを抽出する

Step up ! フィルタを元の表の位置でかけた場合に、フィルタを解除する

048 売上リストで1回の購入金額が多い上位3名を抽出する

One Point ! 引数「Operator」について

049 売上リストから顧客名の一覧を取得する

One Point ! フィルタをかけるデータ範囲

050 売上リストでサンプルデータを取るため、ランダムに顧客データを抽出する

Step up ! 任意の値までのランダムな数値を求める

051 顧客リストから20歳以上30歳未満の顧客を抽出する

One Point ! AndとOrについて

052 顧客リストから「東京都」または「神奈川県」の顧客を抽出する

Step up ! 複数の列に条件を設定して抽出するには

053 売上リストから売上の無い顧客のリストを作成する

One Point ! エラーについて

054 顧客リストで年齢の若い順に並べ替える

Step up ! 並べ替えの順序(昇順と降順)の指定をセルに入力した値で行う

Step up ! 表に見出し行があるか特定できない場合に、自動的に有無を判定する

055 顧客リストをフリガナの50音順、年齢の高い順の2つの条件で並べ替える

Step up ! 実行時に並べ替える列を指定する

One Point ! フリガナ欄が無い場合の並べ替え

056 顧客リストを指定した顧客名の順序で並べ替えを行う

One Point ! 追加したユーザー設定リストについて

第4章 売上データや顧客リストで効率よく計算するための実用技(計算)

057 売上リストから売上の合計を求める

Step up ! 「金額」欄の平均を求める

058 売上リストから売上件数を求める

Step up ! 見出し行を無視して件数を求める

059 売上リストで1番多い売上金額を表示する

Step up ! 1番低い金額を求める

060 売上リストで担当者が「深沢」の売上金額を求める

Step up ! 選択した担当者の売上金額の合計を求める

061 顧客リストで指定した都道府県に住んでいる顧客数を計算する

One Point ! WorksheetFunctionクラスのメソッドと処理速度

062 顧客リストで「生年月日」から満年齢を求める

Step up ! 「年齢」欄を常に最新の状態にする

063 受注リストで受注日から納品日を自動的に計算する

Step up ! 納品日を求める関数を自作する

064 売上リストで「20070901」という年月日から日付データを作成する

Step up ! 時刻データを変換する

065 売上リストの日付から曜日を求める

Step up ! 書式設定で曜日を表示する

066 月末締めの処理で入力された日付から、その月の末日を求める

Step up ! 閏年を求める

067 勤怠管理表で出社時刻を15分単位で切り上げる

Step up ! 時刻の切り捨てを行う

068 時間給の人の給与計算を行うために「10:30」を「10.5」に変換する

Step up ! 12時間を「0.5」日と変換する

069 顧客リストで顧客の男女比を求める

One Point ! Resizeプロパティ、Offsetプロパティをマスターする

070 指定された計算方法で売上データを計算する

Step up ! 計算方法を変更すると同時に結果を求める

071 売上リストで「g」など単位の付いている値を合計する

Step up ! データの先頭に文字のある値から数値を取り出す

072 5行ごとに入力されている小計の合計金額を表示する

Step up ! ランダムに小計欄が現れるケースで集計する

Step up ! そのほかの集計を行う

073 売上データから売上「0」の担当者を除いた平均を求める

Step up ! 文字が含まれる範囲のセルを選択して計算する

074 経理処理のために端数を切り捨てる処理を行う

One Point ! Int関数とFix関数

075 経理処理のために千円未満の値を切り捨てる

Step up ! 千円未満を表示させない

076 給与計算のために五捨六入する関数を自作する

One Point ! VBA関数のRound関数

第5章 次の営業に使用できるように蓄積されている情報を集計・分析するための実用技(集計・分析)

077 別々のシートにある売上表を1つの売上表にまとめる

Step up ! 貼り付ける行を求める処理を独立させる

One Point ! 最終行の取得方法について

078 別々のシートにある形の異なる売上表を1つの売上表にまとめる

Step up ! 集計する数が不定ワークシートを処理する

079 売上リストから、担当者ごとの売上リストを作成する

Step up ! 担当者のリストを取得する

Step up ! ワークシートの作成も同時に行う

080 退職した担当者のデータを新規ブックに保存する

Step up ! ワークシートの枚数を指定して新規ブックを作成する

081 売上リストで売上上位10%の売上を合計する

One Point ! 上位10%の「%」について

082 売上リストの商品別の売上累計を計算する

Step up ! 「集計」を削除する

083 担当者ごとの売上を集計したピボットテーブルを作成する

Step up ! 列フィールドに項目を追加する

084 担当者ごとの売上を集計したピボットテーブルを商品ごとの集計に変更する

Step up ! 行フィールドに複数の項目を追加する

085 担当者ごとの売上を集計したピボットテーブルの集計方法を変更する

One Point ! 「データフィールド」の名前について

086 指定した商品を担当者ごとに売上集計するピボットテーブルを作成する

Step up ! ページフィールドで複数の項目を選択する

087 顧客リストで都道府県別の顧客数を計算する

One Point ! 処理速度の違いについて

088 売上リストで曜日ごとの売上件数を集計する

Step up ! 平日と週末に分けて集計する

089 顧客リストから年齢層別の顧客数を計算する

Step up ! Select Caseステートメントの評価方法を利用する

090 Accessにある顧客データを取得する

One Point ! DAO(Data Access Objects)とADO(ActiveX Data Objects)

091 Accessの顧客データから「神奈川県」在住の顧客のみを取得する

Step up ! 文字列の長さを条件としてデータを取得する

Step up ! 「フリガナ」が「タ」で始まる顧客のデータを取得する

092 Accessの顧客データから20歳代の顧客のみを取得する

Step up ! 条件に指定する「年齢」をセルから取得する

Step up ! 選択クエリの結果を取得する

093 Accessの顧客データから「女性」または「東京都」に住んでいる顧客を取得する

One Point ! SQLについて

094 Accessの顧客データの値引率を更新する

One Point ! SQLのUPDATE文と処理速度

095 Accessの顧客データで女性のみ値引率を更新する

Step up ! 更新クエリを利用する

096 Accessの顧客データにExcelのデータを追加する

One Point ! 配列の利用

第6章 売上リストや顧客リストを利用する際に面倒な操作を効率化するための実用技(編集・効率化)

097 顧客リストのデータが入力されている範囲しかスクロールできないようにする

Step up ! スクロールできる範囲を元に戻す

Step up ! シートがアクティブになったときに自動的に設定する

098 顧客リストで指定した範囲をズームする

Step up ! ズームする大きさを100%にする

099 大きな売上表でも見出しが隠れないようにする

Step up ! ウィンドウ枠の固定と解除を切り替える

Step up ! アクティブウィンドウの「分割」機能のOnとOffを切り替える

100 複数のブックにある売上リストを比較する

Step up ! 「並べて比較」を解除する

Step up ! スクロールを同期させない

101 集計表で、見出し行と数式の入力されたセルを除いたデータが入力されているセルのみクリアする

Step up ! 数式が入力されたセルのみ削除する

102 集計表で、計算式が入力されたセルが上書きされないように保護する

Step up ! ワークシートをパスワード付きで保護する

Step up ! ワークシートの保護を解除する

103 集計表で、計算式が入力されたセルの数式を隠す

Step up ! ワークシートの保護を解除し、数式が表示されるようにする

Step up ! 数式の表示と非表示を切り替える

104 現在のシートのみ名前を付けて保存する

Step up ! 元のワークシートを削除する

105 経理データの読み合わせを1人で行う

Step up ! Excelに任意のテキストを読ませる

One Point ! 「セルの読み上げ」機能

One Point ! 読み上げる音声の調整方法

106 データ入力用のワークシートにある説明のコメントを一覧表示する

Step up ! 転記されたコメントをテキストファイルに保存する

Step up ! 特定の人が追加したコメントのみ取得する

107 顧客リストの印刷の向きを自動的に判定する

Step up ! 印刷位置をページの中央に配置する

108 売上リストで売上日ごとに改ページを挿入する

Step up ! 印刷する各ページに見出し行を印刷する

109 顧客リストを印刷する際に自動的にプリンタを切り替える

Step up ! プリンタの一覧を取得する

One Point ! プリンタ名の取得

110 売上リストで指定したページのみ印刷プレビューを表示する

Step up ! 実際に印刷する

One Point ! 扱える値の範囲

111 売上リストで印刷時の総ページ数を事前に確認する

Step up ! 複数のブックに分かれたデータに連続したページ番号を振る

112 集計結果のデータを利用しやすくするために、値貼り付けをショートカットキーに割り当てる

Step up ! 既存のショートカットキーを無効にする

Step up ! ショートカットキーからマクロを解除する

第7章 ●●●上司を納得させる報告書を作成するための実用技(グラフ&表示)

113 売上リストを基にした棒グラフを自動的に作成する

Step up ! 「2軸上の折れ線と縦棒」など、ユーザー定義のグラフを作成する

114 売上リストの大きさを基準にしてバランスのよいグラフを作成する

Step up ! 既存のグラフのサイズを元の売上リストに合わせて変更する

One Point ! 「ポイント」とは

115 売上リストを基に作成したグラフの大きさを揃える

Step up ! 選択されたグラフの大きさに他のグラフも揃える

One Point ! フォントサイズ自動調整について

116 「売上」シートにある全てのグラフの種類を棒グラフに変更する

Step up ! データテーブルの表示・非表示を切り替える

117 売上を表示した棒グラフの軸の値を変更する

One Point ! ChartObjectオブジェクトとChartオブジェクト

118 売上の担当者ごとの内訳を表す円グラフをまとめて作成する

Step up ! 作成した全てのグラフシートを削除する

119 売上を表す棒グラフを、よりわかりやすいように絵グラフにする

Step up ! 選択できる画像の種類を増やす

120 売上の内訳を表す円グラフを、印刷時のみモノクロの配色に切り替えて印刷する

Step up ! 実行時に印刷プレビューするか、すぐに印刷するかを確認する

One Point ! 印刷時の配色

121 「売上」シートの全てのグラフを1グラフ1ページで印刷する

Step up ! 特定のタイトルのグラフのみを印刷する

122 「売上」シート上のグラフを「gif」形式の画像ファイルとして保存する

Step up ! ファイルの上書きを防ぐ

123 売上を集計したピボットテーブルからグラフを作成する

One Point ! ピボットグラフと通常のグラフの作成方法

124 売上を集計したピボットグラフの系列を入れ替える

Step up ! ピボットテーブルのデータを更新する

125 売上リストが更新されたときに罫線を簡単に設定する

Step up ! 表の周囲の罫線を設定する

126 報告書で特定の言葉だけ目立つように書式を変更する

One Point ! ループ処理の条件

127 売上リストで数値が入力されているセルに書式を設定する

Step up ! 日付データが含まれないケースで処理する

128 複数のワークシートにある売上リストの全ての見出しに一括で書式設定をする

Step up ! すでにある書式と同じ書式に統一する

129 売上リストを他のリストと同じワークシート上に見栄えよく配置する

Step up ! 図を貼り付けた後、位置を変更する

Step up ! 図としてコピーする

130 プレゼンテーション用の資料にExcelのグラフを貼り付ける

Step up ! スライドを追加する

131 Wordで作成した報告書にExcelの表を貼り付ける

Step up ! 段落の最後に貼り付ける

132 AccessのレポートをExcelからプレビューする

Step up ! レポートを印刷しAccessを終了する

第8章 もっと便利にExcelを活用したおすための実用技(活用)

133 売上データが入力されたワークシートで、右クリックでセルを塗りつぶしてチェックできるようにする

Step up ! 売上表の表内など、特定の範囲内のみ処理を行う

134 顧客リストが保存されているブックを開く際に、必ず最大化して開く

Step up ! ブックウィンドウの表示方法を変更する

Step up ! ウィンドウを指定した位置に指定した大きさで表示する

135 売上データを特定の人しか印刷できないようにする

Step up ! 特定のワークシートのみ印刷時にパスワードを利用する

136 顧客データが入力されたブックを閉じるときに必ず上書き保存する

Step up ! 開いている全てのブックを保存して、Excelを終了する

Step up ! ブックを保存せずに閉じる

137 新たにワークシートを追加したときに、売上表の見出しを自動的に追加する

Step up ! 追加したワークシートの名前を設定する

138 売上金額の簡易グラフを作成する

Step up ! 絵グラフを作成する

139 作業時間が一定時間過ぎると、休憩を取るよう促すメッセージを表示する

Step up ! セルに簡易タイマーを表示する

Step up ! 自動的にメッセージの表示を開始する

One Point ! サンプルをテストするには

140 社員からのレポートが提出されているか確認する

Step up ! チェックするフォルダを指定する

141 株価情報など定期的にチェックするサイトを参照する

Step up ! Internet Explorerの履歴を利用してページを移動する

Step up ! サイトの読み込み完了をチェックする

142 顧客名簿を、特定のコンピュータで作業しないと上書き保存できないようにする

Step up ! コンピュータ名ではなく、ユーザー名を利用する

143 テキストファイルに売上情報の一部を書き込む

Step up ! ファイルにデータを追加する

Step up ! テキストファイルからデータを読み込む

144 指定した売上管理ファイルのバックアップを作成する

One Point ! 終了処理とエラー処理

One Point ! エラーも情報の1つ

145 バックアップを作成するときに、保存先のドライブが存在するかを確認する

Step up ! ドライブの空き容量を求める

146 データバックアップ用のフォルダを作成する

Step up ! フォルダを削除する

147 売上データのブックをメールに添付して送信する

Step up ! 複数のあて先に送信する

Step up ! さらに細かい設定を行ってメールを送信する

148 プログラムの処理時間を計測する

Step up ! 複数のプロシージャの処理時間を連続でチェックする

One Point ! プログラムの処理時間

149 Excelのバージョンによって売上表の見出しの書式を変える

Step up ! OSのバージョンを確認する

150 コメントを利用せずにテスト用と実際のコードを分ける

Step up ! 値に応じてコンパイル範囲を分ける

PR

秀和システム