目次 |
(ここに表示の目次は執筆途中のもので、実際誌の目次とは表記が一部異なります) |
Chapter1 使いたいコマンドを一目で探せるマクロ作成便利資料 |
■1-1 ファイルを制御するコマンド42件の使用例一覧表 |
ファイル名を取得するコマンド(3例) |
・オブジェクトの名前取得 |
・最後に開いたbook名読み取り |
・パスを含むオブジェクト名の取得 |
パス名を取得するコマンド(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用のチャート作成マクロをExcel 2010で動くように改善例 |
Excel 2010で実行で第2軸が逆表示のチャート例 |
・第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」自動実行プロシージャ |
セルをクリックしてマクロを実行する例 |
・その他のシートイベントのプロシージャ例 |
自作のツールバーからマクロを実行する例 |
・Excel 2003で使用していたツールバーボタンのID番号について |
ショートカットメニューからマクロを実行する例 |
既存のメニューアイテムへ追加してマクロを実行する例 |
メニューへ新規に追加してマクロを実行する例 |
■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ページを利用して郵便番号を住所に変換するマクロ |
・「郵便番号マクロ」の概略と操作説明 |
・「郵便番号マクロ」説明 |