コレが知りたかった! Excel マクロ&VBAテクニック

概 要

ExcelのマクロとVBAについて、とっておきの便利なテクニックをまとめた解説書です。Excelの操作についてはほとんどの高校・大学で教えるようになり、誰もがExcelで作業することが当たり前になりましたが、Excel VBAの機能を使いこなしている人は少ないようです。本書は、Excel VBAのマクロを作り始めて15年になる著者が、その間に経験・習得した選りすぐりのノウハウを紹介します。ファイル制御のコマンドから、セル操作、変数名の付け方や値の受け渡し、キーボード入力操作、演算子の種類、マクロにワークシート関数を組み入れて簡素にする方法まで、あなたの知りたかったテクニックが満載です。サンプルのダウンロードサービス付き。

著者 井領邦弘
価格 本体2700円(税別)
ISBN 978-4-7980-3588-8
発売日 2012/11/23
判型 B5変
色数 2色
ページ数 320
CD/DVD
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter1 使いたいコマンドを一目で探せるマクロ作成便利資料

1-1 ファイルを制御するコマンド42件の使用例一覧表

ファイル名を取得するコマンド(3例)

・オブジェクトの名前の取得

・最後に開いたブック名読み取り

・パスを含むオブジェクト名の取得

パス名を取得するコマンド(3例)

・ファイルオープン時のデフォルトパス

・絶対パスを文字列で返す

・カレントパスを取得

ドライブ・フォルダを操作するコマンド(4例)

・カレントドライブの変更

・カレントフォルダの変更

・フォルダ(ディレクトリ)を作成

・フォルダ(ディレクトリ)を削除

ファイルの情報を取得するコマンド(5例)

・ファイル名、フォルダ名を返す

・ファイル作成日を返す

・ファイルのサイズをバイトで返す

・ファイルの属性を設定

・ファイルの属性情報を返す

ファイルを制御するコマンド(3例)

・ファイルのコピー

・ファイルの移動、又は名前の変更

・ファイルの削除

ブックを制御するコマンドの使用例(24例)

ブック制御関連の追加説明

・確認メッセージを表示しないでブックを閉じる方法

・開いているWindowsのオブジェクトをチェックする方法

1-2 ワークシートを制御するコマンド32件の使用例一覧表

ワークシート制御関連の追加説明

・ブック内の全シート名をFor文で取得する例

・ブック内の全シート名をFor Each文で取得する例

・未使用ワークシートを削除する例

・究極のシートデータを削除する方法はそのシートの削除

1-3 セル操作の各種テクニック

セル位置指定の各種方法

・セル位置をA1形式で指定

・参照場所をSetステートメントで指定

・セル位置を変数で指定

・Offsetプロパティによるセル指定

・セルを基点オブジェクトにしてCellsプロパティで指定

・SendKeysステートメントによるセル指定

A1形式をCellsプロパティに書き換え

・A1形式の列を数字に変更(256→IV列までの対照一覧表)

・「XFD→16384列」まで計算できるマクロ例

・「16384→XFD列」まで計算できるマクロ例

Cellsプロパティへの書き換えマクロ例

セルデータの各種削除例

1-4 変数を使いこなすための便利資料

変数名の付け方の制限について

変数の適用範囲とプロシージャの関係

・変数・定数とステートメントの関係の見やすい一覧表

・プロシージャの種類について

変数の活用方法を理解すれば値の受け渡しは簡単

・2プロシージャを同一モジュールに記載する場合の変数の有効範囲

・2プロシージャを別モジュールに記載する場合の変数の有効範囲

・Subプロシージャの引数で値を受けたケース

・Functionプロシージャで戻り値を返したケース

・プロシージャが終了しても変数の値を保持する静的変数

VBAで利用できるデータ型・範囲・サイズの一覧表

・変数宣言の記載例

・定数宣言の記載例

・型宣言文字でデータ型を指定する

初めに指定したデータ型を途中で変更する

・データ型の戻り値チェック

・データ型を変換

文字変数(又はセル記入文字)を制御するコマンド31件の使用例一覧表

1-5 見えない文字(スペース、改行など)はASCIIコードで操作

書けない文字(改行)をASCIIコードで記述する例

書けない文字(ダブルクォーテーション("))を記述する例

セル内に記述の消せない文字(改行)を削除するマクロ例

アルファベット文字をセル列数字に変換する例

文字列の最終にスペースを追加する例

セルデータをASCIIコードに変換するマクロ例

1文字をASCIIコードに変換するマクロ例

ASCIIコードを使用した数字文字取り出し例

1-6 キーボード入力操作はキーコード転送で再現

キーコード転送でファイルを開いた例

メッセージボックスを自動で閉じる例

セルへの文字入力をキーコード転送で実行した例

ショートカットキーへマクロを登録する例

1-7 演算子の種類と優先順位

「\」と「Mod」を使用した例(10進16進対照表)

「\」と「Mod」を使用した例(数字からセル位置を計算する例)

「+」と「&」の使用上の注意点

1-8 日付・時刻関連コマンドを使いこなすための便利資料

主な日付・時刻関数18件の使用例一覧表

Format関数で処理できる18件の日付関連書式記号一覧表

時刻をシリアル値にして計算して秒単位で管理

・通常の時刻を指定した時間の計算例

シリアル値を使った時間を計算する例

・シリアル値を計算して年齢を算出する例

・ワークシート関数使用の年齢算出例

・生年月日から60歳になる日付を算出する例

その他の覚えると便利な日付・時刻関連のマクロ例

・マクロ処理時間の測定例

・マクロ実行時間を延ばす例

・文字列日付を日付型に変換する例

・Findメソッドで日付を検索する例

・AutoFilterメソッドで日付を検索する例

1-9 マクロにワークシート関数を組み入れて簡素化する

Sum(指定したセルの合計)の使用例

セルデータから最大値を取得

セルデータから最小値を取得

データの平均

データの四捨五入

・千の位まで表示するマクロ例(別の列へ表示)

・千の位まで表示するマクロ例(同一列へ表示)

・Round関数の引数(桁数)を指定する例

半角文字に統一

全角マイナス「-」→音引き「ー」に統一

ワイルドカード文字「?」を削除する例

1-10 56色のカラーコード一覧表

56色のカラーコード表を作成するマクロ例

カラーコード表番号の使用例

・セルへの色付け例

カラーコード表番号を使用したマクロ例

1-11 Excel 2003/2010の第2軸チャート同一表示化マクロ

Excel 2003用のチャート作成マクロをExcel 2010で動くようにする改善例

・不具合の第2軸のデータを右から左へ表示に改善

・第2軸のデータを右から表示に改善済みのチャート例

・不要な第2軸ラベルの削除例

・正常になったチャート

Chapter2 高速化マクロ作成テクニック

2-1 マクロ実行中の画面の動きを停止

画面表示更新をストップさせて実行

対象ブックをアイコンにして実行

Excelを非表示にして実行

2-2 自動記録の無駄な部分の削除

範囲を選択でなくダイレクトに指定して実行

「ダイレクトに指定+画面停止」で実行

「ダイレクト記入+ブック非表示」で実行

自動記録の変更箇所以外を削除して実行

2-3 変数の有効活用で高速化

セルデータを2次元配列を使用して一括移動する例

オブジェクト変数を使用して一括移動する例

セルデータをコピーして貼り付けた例

変数のデータ型(整数型・バリアント型)による相違の確認例

2-4 ワークシート関数使用で高速化

比較元のFor文とFor Each文の速度を比較した例

セルデータを変数に入れて最大値を抽出する例

ワークシート関数Maxで最大値を抽出する例

2-5 $付き文字型関数を使用して高速化

文字型関数Mid$の使用例

$付き(文字型)にできる関数

2-6 不要な行を高速で削除する方法

AutoFilterメソッドを使用して不要行を削除する方法

2-7 CSVファイルを高速に取り込む方法

ブックを開かずに高速でCSVファイルを取り込む方法

2-8 コピー貼り付けと一括書き込みの速度比較

セルへ計算式を書き込む例

・一般的なマニュアル操作の自動記録

・FillDownメソッドでの実行例

・AutoFillメソッドでの実行例

・ダイレクトに数式をセルへ記入する例

セルの計算式を数値化する例

2-9 フォルダ内のファイル名を高速で取得する方法

Dir関数とFileSystemObject

2-10 その他の高速化マクロの作成例

Withステートメントを使用する方法

文字の入れ替えを高速で行う方法

変数への代入回数を減らす方法

余分な再計算を行わせない方法

Chapter3 配列やダイアログなどマクロ作成時に確認したい重要コマンドの使用例

3-1 配列を使いこなすための便利資料

配列データを効率よく初期化して幅広く活用

配列データをつないで1個の文字列にする例

Array関数で配列へデータを一括して代入

セルデータをまとめて配列へ代入する例

配列データをまとめてセルへ書き込む例

配列内データを処理するマクロ例

・配列内のランダムなデータを昇順に並び替えるマクロ例

・配列内のランダムなデータを降順に並び替えるマクロ例

・指定した配列の要素へデータを挿入してずらす例

・配列内のブランクデータの要素を詰める例

・配列内データをセルに6行5列で記入する例

・各要素ごとの区切られた配列データを分割または結合する例

3-2 条件分岐のマクロ例

If…Then…Elseステートメント

Select Caseステートメント

If文のその他の記述方法

・If文を1行形式で記述

・Caseで条件を2個記述

・参照するオブジェクトがないかチェックする例

・If文で「True」を省略

・ブランク文字を判定する例

条件式に使用する5種類の論理演算子の使用例の一覧表

条件分岐で引数のどちらか1つを返すIIf関数の使用例

3-3 繰り返し操作のマクロ化

For…Nextステートメント

・For文で使用できる最終回数(最終セル)抽出例

For Each…Nextステートメント

Do…Loopステートメント

・ループ前に条件を判断するケース

・ループ後に条件を判断するケース

・条件判断をループの中で行うケース

3-4 ユーザーインターフェースとしてダイアログボックスが必要な場合

メッセージボックス設置の引数値/戻り値の一覧表

・MsgBox関数のマクロ実行例

・MsgBox関数の名前付き引数の使用例

・戻り値なしの「OK」ボタンのみのメッセージ例

・文字表示形式をフォーマットで指定する例

・4種類のメッセージアイコン表示例

インプットボックスの使用例

・InputBox関数とInputBoxメソッドの相違点

・InputBox関数を使用したマクロ例

・InputBoxメソッドを使用したマクロ例

ユーザーフォーム操作のテクニック例

・ツールボックスにあるコントロール14件の一覧表

・ユーザーフォームの制御例

・ラベルの使用例

・テキストボックスの使用例

・コンボボックスの使用例

・リストボックスの使用例

・フレーム・オプションボタンの使用例

・フレーム・チェックボックスの使用例

・スピンボタンの使用例

・スクロールバーの使用例

組み込みダイアログ操作のテクニック例

・使用できる組み込みダイアログ

・組み込みダイアログをマクロで表示する例

3-5 マクロ実行のスタート方法の各種テクニック例

フォームコマンドボタンから実行する例

・マニュアルでコマンドボタンを設定する例

・マクロでコマンドボタンを設定する例

ショートカットキーから実行する例

・マニュアルでショートカットキーを設定する例

・マクロでショートカットキーを設定する例

ファンクションキーからマクロを実行する例

・Excelのファンクションキー34種の使用状況一覧表

ブックオープンで自動実行する例

・Excel 95からあった「AUTO_OPEN」自動実行プロシージャ

・Excel 95からあった「AUTO_CLOSE」自動実行プロシージャ

セルをクリックしてマクロを実行する例

・その他のシートイベントのプロシージャ例

自作のツールバーからマクロを実行する例

ショートカットメニューからマクロを実行する例

既存のメニューアイテムへ項目を追加してマクロを実行する例

メニューへ新規に項目を追加してマクロを実行する例

3-6 エラー処理のマクロ例

On Error Resume Nextを使用する例

On Error GoToラベルを使用する例

3-7 信頼できないExcelブックをマクロを無効にして開く例

イベント実行停止を設定してブックを開く例

3-8 ファイル処理マクロで確認したいコマンド使用の例

名前を付けて保存

・Excel 2003と2007以降を分けて記述する例

・Excel 2003と2007以降を同じ記述にする例

・CSVファイルで保存する例

上書き保存

・通常の上書き保存例

・変更のあった時のみ上書き保存してファイルを閉じる例

・変更があっても保存しないでファイルを閉じる例

・マクロが入っているブックを閉じる例

フォルダ内全ファイル名を小文字に変換するテクニック

・指定した拡張子のファイル名を小文字にする

・サブフォルダを含む全ファイル名の小文字化

3-9 図形処理で確認したいコマンド使用例

シート上の図形を消去

・全図形を1つずつ消去する例

・全図形を一括消去する例

・全ピクチャーを消去する例

・ボタンを残して全図形を削除する例

・オブジェクト名と表示位置を取得する例

シート上の図形をコピーしないマクロ例

シート上の画像をgifまたはjpgファイルで保存するマクロ例

・グラフを画像ファイルで保存する例

・指定したセルを画像ファイルで保存する例

3-10 マクロを一定時間で連続実行するコマンドの使用例

OnTimeメソッドで連続実行する例

GetTickCount関数で連続実行する例

3-11 検索操作マクロ作成で確認したいコマンド使用例

AutoFilterメソッドで抽出データを解析する例

・フィルタで抽出したセルの合計を求める

・フィルタで抽出した行へナンバリング

SumIf関数で抽出セルの合計を求める例

シート全体からFindメソッドで検索する例

リンクを張ったセルを検索するマクロ例

Chapter4 Excel VBAでインターネットWebページを操作するテクニック

4-1 Excelシート上に別IE表示ウィンドウを開きWebページを表示

別ウィンドウにWebページを表示するマクロ例

シートの最前面に開いたIE表示ウィンドウのサイズを設定するマクロ例

指定したHTMLファイルのパスなどの情報を取得するマクロ例

4-2 HTMLタグのフォームエレメントを制御するテクニック

Webページのテキストボックスへ文字を入力する方法

Webページのコントロールボタンをクリックする方法

Webページのラジオボタンへチェックを入れる方法

Webページのチェックボックスへチェックを入れる方法

Webページのドロップダウンリストの項目を選択する方法

Webページが分割フレームを使用している場合の書き込み方法

4-3 Webページに表示されているデータを取得する方法

BodyタグでHTMLファイルの全データを取得

BodyタグでHTMLファイルの全テキストデータを取得

HTMLファイルのテーブルデータを取得

・ID名がテーブル全体を指定している例

・ID名がテーブルの1行を指定している例

・ID名がテーブルの1セルを指定している例

・テーブルデータをRows.Cells指定で取得する例

HTMLファイルのハイパーリンクを制御する方法

リンクオブジェクトの表題を取得する方法

・ボタン内容を「outerHTML」で取得

・ボタン内容を「innerHTML」で取得

・ボタン内容を「href」で取得

・ボタン内容を「outerText」で取得

・ボタン内容を「innerText」で取得

4-4 HTTPオブジェクトを使用してHTMLソースのみを取得する方法

HTMLファイルの全データを取り込む方法

テーブルデータを正規表現で高速に取り込む方法

4-5 Webページの処理が容易にできるUserFormへのWebBrowser設定

ユーザーフォームへWebBrowserを設定する方法

WebBrowserコントロールへWebページを表示

Webページの読み込み終了の確認方法

Webページのテキストボックスへ文字を入力する方法

Webページのドロップダウンリストの項目を選択する方法

Body.innerTextタグでHTMLファイルの全テキストデータを取得

HTMLファイルのハイパーリンクを制御する方法

4-6 Webページを表示または処理する各種テクニック例

OpenステートメントでWebページを表示する例

Openステートメントを使用し表示されたデータを取得するマクロ例

別のExcelオブジェクトへWebページを表示する例

セルに記入したハイパーリンクからWebページを表示させた例

エクスプローラーにURLを渡してWebページを開いた例

Windows XPで動くオブジェクト制御のマクロ例

Windows XPで動くオブジェクトの改善マクロ例

WSHから拡張子htmlファイルを制御してWebページを表示する例

4-7 Webページ操作にすぐ利用できるサンプルマクロ例

Webページ制御に必要なHTMLタグのエレメント番号を取得するマクロ

Webページ制御に必要なHTMLタグのリンク番号を取得するマクロ

Webページのリンク表を一段ずつ自動クリックするマクロ

Webページのリンク表のハイパーリンクをマウス矢印で制御するマクロ

株売買の自動発注ロボットをExcel VBAで作成したマクロ

・デモファイルが自分のPC上で動くようにIEを設定

・「KIの無人発注」マクロの操作説明

・「KIの無人発注」マクロの説明

株売買の自動発注ロボットをWebBrowserで作成したマクロ

・「KIの発注ロボット」マクロの操作説明

・「KIの発注ロボット」マクロの説明

Webページを利用して郵便番号を住所に変換するマクロ

・「郵便番号マクロ」の概略と操作説明

・「郵便番号マクロ」の説明

PR

秀和システム