書籍概要

本格入門

Excel VBA 本格入門
~日常業務の自動化からアプリケーション開発まで~

著者
発売日
更新日

概要

Excel VBAの経験がほとんどないけれど,しっかり取り組んでみたい方向けの入門書。VBAをマスターするうえで必須の「繰り返し」や「条件分岐」など基礎的なテーマから,配列やユーザー定義型変数などの応用文法,実用的なアプリケーションを作るうえで欠かせないコマンドボタンやテキストボックスなどのコントロールまで網羅しているので,この一冊ですぐに開発が始められます。学習したことをすぐに確認できる100以上のサンプル付き!

こんな方におすすめ

  • VBAで実用的なものが作りたい方
  • 本気でVBAに取り組みたい初級者

目次

Part1 基礎編
Chapter 1 マクロの記録とVisual Basic Editor

  • 1-1 マクロとは? VBAとは?
  • 1-2 マクロを含むブックを保存する/開く
  • 1-3 マクロの記録でマクロを作成する
  • 1-4 マクロを編集・実行・登録する
  • 1-5 マクロの構成と基本用語
  • 1-6 Visual Basic Editorの基礎知識
  • 1-7 エラーへの対処とイミディエイトウィンドウ

Chapter 2 VBAの基本構文を理解する

  • 2-1 マクロの記録の限界
  • 2-2 VBAの基本用語と基本構文
  • 2-3 オブジェクトの親子関係
  • 2-4 コレクションを操作する(すべてのブックを閉じる)

Chapter 3 ブックとシートをVBAで操作する

  • 3-1 ブックを開く/閉じる
  • 3-2 ワークシートの印刷プレビューを実行する
  • 3-3 ワークシートを削除する
  • 3-4 ワークシートを表示/非表示にする
  • 3-5 シートを扱うときの注意点

Chapter 4 セルをVBAで操作する

  • 4-1 セルはRangeオブジェクト
  • 4-2 セルを選択する
  • 4-3 行や列の表示と非表示を切り替える
  • 4-4 セルの値を取得/設定する
  • 4-5 選択セル範囲の位置を変更する
  • 4-6 選択セル範囲のサイズを変更する
  • 4-7 アクティブセル領域を参照する
  • 4-8 データベースの最後のセルを特定する

Chapter 5 変数を理解する

  • 5-1 変数とは?
  • 5-2 変数の名前付け規則
  • 5-3 変数を明示的に宣言する
  • 5-4 変数のデータ型

Chapter 6 条件分岐を理解する

  • 6-1 IfThenElseステートメント
  • 6-2 Select Caseステートメント

Chapter 7 繰り返し処理(ループ)を理解する

  • 7-1 ForNextステートメント
  • 7-2 For EachNextステートメント
  • 7-3 DoLoopステートメント

Chapter 8 対話型のマクロを作る

  • 8-1 ダイアログボックスで押されたボタンを判断する
  • 8-2 組み込み定数とオブジェクトブラウザー
  • 8-3 ダイアログボックスでデータの入力を促す

Part2 実践編
Chapter 9 変数の上級テクニックとユーザー定義定数

  • 9-1 配列の基本構文
  • 9-2 動的配列
  • 9-3 2 次元配列
  • 9-4 変数の宣言場所と有効期間
  • 9-5 ユーザー定義定数

Chapter 10 ユーザーフォーム

  • 10-1 ユーザーフォームとは?
  • 10-2 ユーザーフォームを追加する
  • 10-3 プロパティウィンドウ
  • 10-4 ユーザーフォームのタイトルバーや背景を設定する
  • 10-5 ユーザーフォームの主なイベント
  • 10-6 ユーザーフォームの表示/非表示を行う

Chapter 11 基本的な入力や表示を行うコントロール

  • 11-1 コントロールとは?
  • 11-2 ユーザーフォームにコントロールを配置する
  • 11-3 コマンドボタン
  • 11-4 テキストボックス
  • 11-5 ラベル
  • 11-6 イメージ
  • 11-7 タブオーダーの変更とコントロールの綿密な配置

Chapter 12 選択を行うコントロール

  • 12-1 チェックボックスとトグルボタン
  • 12-2 オプションボタン
  • 12-3 フレーム
  • 12-4 リストボックス
  • 12-5 コンボボックス

Chapter 13 その他の便利なコントロール

  • 13-1 タブストリップ
  • 13-2 マルチページ
  • 13-3 スクロールバー
  • 13-4 スピンボタン
  • 13-5 RefEditコントロール

Chapter 14 文字列を操作する関数

  • 14-1 VBA 関数とは?
  • 14-2 文字列を取得・検索する
  • 14-3 文字列を変換する
  • 14-4 文字列を比較する
  • 14-5 指定した文字を繰り返す関数

Chapter 15 日付や時刻を操作する関数

  • 15-1 現在のシステム日付や時刻を取得する
  • 15-2 日付や時刻から必要な情報を取得する
  • 15-3 日付や時刻を操作するその他の関数

Chapter 16 その他の便利な関数

  • 16-1 VBAでExcelのワークシート関数を使う
  • 16-2 書式を設定する
  • 16-3 配列を操作する
  • 16-4 変換を行う
  • 16-5 値のチェックを行う
  • 16-6 乱数を生成する

Chapter 17 マクロの連携とユーザー定義関数

  • 17-1 マクロの部品化
  • 17-2 引数付きでマクロを呼び出す
  • 17-3 参照渡しと値渡し
  • 17-4 マクロを強制終了する
  • 17-5 Functionマクロ
  • 17-6 ユーザー定義関数

Chapter 18 イベントマクロ

  • 18-1 イベントマクロを作成する
  • 18-2 ブックのイベント
  • 18-3 シートのイベント
  • 18-4 アプリケーションのイベント

Chapter 19 エラー処理

  • 19-1 エラーを適切に処理する
  • 19-2 エラー番号とエラー内容を調べる

Chapter 20 画面表示と組み込みダイアログボックス

  • 20-1 Excelのタイトルバーの文字列を変更する
  • 20-2 画面のちらつきを抑止する
  • 20-3 確認/警告メッセージを非表示にする
  • 20-4 ステータスバーにメッセージを表示する
  • 20-5 組み込みダイアログボックス
  • 20-6 ダイアログボックスで指定されたファイル名を取得する

Chapter 21 グラフをVBAで操作する

  • 21-1 データ範囲と系列を指定してグラフを作成する
  • 21-2 グラフタイトルを設定する
  • 21-3 軸と目盛線を設定する
  • 21-4 凡例とデータテーブルを設定する
  • 21-5 データラベルを設定する
  • 21-6 データ系列とグラフ種類グループを設定する
  • 21-7 データ要素とマーカーを設定する

Chapter 22 ファイルの操作

  • 22-1 テキストファイルの種類とテキストファイルウィザード
  • 22-2 OpenTextメソッドでテキストファイルを開く
  • 22-3 ブックを開かずにテキストファイルの入出力を行う
  • 22-4 ファイルを操作するステートメントと関数
  • 22-5 ファイルシステムオブジェクト
  • Appendix 1 サンプルファイルのダウンロードについて
  • Appendix 2 Visual Basic Editorのショートカットキー
  • Appendix 3 プロパティ・メソッド・イベントの一覧表
  • Appendix 4 標準的なコントロールの名前の付け方
  • Appendix 5 VBA 関数リファレンス

サポート

ダウンロード

本書のサンプルファイルは,以下のリンクよりダウンロードできます。

サンプルファイルのご利用方法は本書P.530,「サンプルファイルのダウンロードについて」をご覧ください。

ダウンロード
サンプルファイル(honkaku.zip)

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年8月15日最終更新)

P.366 最終行のコード


myArray = Filter(myStr, "Excel", vbTextCompare)


myArray = Filter(myStr, "Excel", , vbTextCompare)

(以下2018年2月16日更新)

P.275 表12-2 1行目の1列目

ScrollBarsプロパティの値
MultiSelectプロパティの値

(以下2015年10月22日更新)

P.100 コラム「データベースの特定の行を選択する」最終行のコード

Range("A3", Range("A3").End(xlToRight)).Select
Range("A5", Range("A5").End(xlToRight)).Select

P.319 事例107 文字列の取得([14.xlsm]Module1)11行目

Range("B2").Value = Left(myStr, )
Range("B2").Value = Left(myStr, 4)

商品一覧