てっとり早く確実にマスターできる Excel VBAの教科書

書籍の概要

この本の概要

多くの機能を持つExcel VBAの中でも,マスターするうえで,最低限覚えておかなければならない「繰り返し」や「条件分岐」,「対話型マクロ」など重要かつ基本的なトピックのみを厳選。著者は,VBA の大ベストセラー「かんたんプログラミングExcelVBA」の著者である大村あつし氏。独特な解説手法と丁寧な図解で,わかりやすくまとまっています。VBAをどう勉強すればいいかを知りたい,何度もやってみたけれどなかなか身につかない,VBAとはどんなものかを知りたいという方におすすめです。

この書籍に関連する記事があります!

めんどくさいことは全部Excelにやってもらおう!
「Excelの便利技はマスターしたし,ショートカットキーだってたくさん覚えた!でも結局コピペを繰り返したり,何度も並べ替えをしたりと作業手順が多くて思ったほどはかどらないんだよなぁ……。」

目次

序章 マクロ記録とVisual Basic Editor

序-01 マクロの記録でマクロを作成する

  • [開発]タブを表示する
  • マクロを記録する

序-02 マクロを編集・実行・登録する(Visual Basic Editor)

  • マクロをVisual Basic Editorに表示して内容を変更する
  • マクロを[フォームコントロール]のボタンに登録する

序-03 マクロの構成と基本用語

  • マクロの構成
  • マクロの基本用語

序-04 マクロを含むブックを保存する

  • 「Excelマクロ有効ブック」とは?
  • 「Excelマクロ有効ブック」のマクロを有効にする

序-05 Visual Basic Editor の基礎知識

  • VBEを起動した直後に表示されるウィンドウ
  • モジュールとは?プロジェクトとは?
  • 標準モジュールを挿入する
  • 標準モジュールを削除する

序-06 エラーへの対処とイミディエイトウィンドウ

  • コンパイルエラー
  • 実行時エラー
  • デバッグと論理エラー
  • [デバッグ]メニューのコマンド
  • ステップ実行でステートメントの動作を確認する
  • ブレークポイントを解除する
  • イミディエイトウィンドウ
  • 練習問題

1章 VBAの基本構文を理解しよう

1-01 マクロ記録の限界

  • 無駄な操作が記録される
  • デフォルト値が記録される
  • 汎用性のあるマクロが作成できない
  • 条件分岐や繰り返しを行うマクロが作成できない
  • 練習問題

1-02 VBAの基本用語と基本構文

  • Excelの部品=オブジェクト
  • 練習問題
  • オブジェクトの特徴=プロパティ
  • プロパティの値を調べる
  • プロパティの値を変更する
  • 練習問題
  • オブジェクトを操作する=メソッド
  • メソッドの構文
  • メソッドの動作を細かく指示する
  • 練習問題

1-03 オブジェクトの親子関係

  • Excelオブジェクトの階層構造
  • 親オブジェクトを指定する
  • 練習問題

1-04 複数のオブジェクトを同時に操作する

  • オブジェクトの集合体=コレクション
  • すべてのブックと1つのブックを閉じる
  • 練習問題

2 章 ブックとシートをVBA で操作しよう

2-01 ブックを開く/ 閉じる

  • 保存場所を特定してブックを開く
  • カレントフォルダのブックを開く
  • 練習問題
  • 確認メッセージを表示せずにブックを閉じる
  • 練習問題

2-02 ワークシートの印刷プレビューを実行する

  • 印刷プレビューを実行する
  • 練習問題

2-03 ワークシートを削除する

  • 確認メッセージを表示せずにワークシートを削除する
  • 練習問題

2-04 ワークシートを表示/ 非表示にする

  • ワークシートを非表示にする
  • ワークシートを再表示する
  • 練習問題

2-05 シートを扱うときの注意点

  • Sheetsコレクションの正体
  • 練習問題

3 章 セルをVBAで操作しよう

3-01 セルはRangeオブジェクト

  • Rangeオブジェクトの特徴
  • 練習問題

3-02 セルを選択する

  • セル番地でセルを選択する
  • 練習問題
  • 定義された名前でセルを選択する
  • 行や列全体を選択する
  • すべてのセルを選択する
  • アクティブシートのセルしか選択できない
  • 練習問題

3-03 行や列の表示と非表示を切り替える

  • Withステートメントの基本構文
  • Not演算子によるプロパティの切り替え
  • 練習問題

3-04 セルの値を取得/ 設定する

  • セルの値を取得する
  • 練習問題
  • セルに様々な種類の値を設定する
  • 練習問題
  • セルの値を別のセルに設定する
  • 練習問題
  • セルの数式と値をクリアする
  • 練習問題

3-05 選択セル範囲の位置を変更する

  • 選択セル範囲の行列位置を変更する
  • 選択セル範囲の行位置を変更する
  • 選択セル範囲の列位置を変更する
  • 練習問題

3-06 選択セル範囲のサイズを変更する

  • 選択されているセルの行数を取得する
  • 練習問題
  • 選択されているセルの列数を取得する
  • 練習問題
  • 行数や列数を変更してセル範囲のサイズを変更する
  • 練習問題
  • OffsetプロパティとResizeプロパティを併用する
  • 練習問題

3-07 アクティブセル領域を参照する

  • アクティブセル領域とは?
  • データベース範囲を選択する
  • データベース範囲を印刷する
  • 練習問題
  • データの登録件数を取得する
  • 練習問題

3-08 データベースの最後のセルを特定する

  • 領域の最後のセルとは?
  • Endプロパティの引数
  • 練習問題
  • Endプロパティで最終データ行に移動する
  • Endプロパティで新規データを入力するセルに移動する
  • 練習問題

4章 変数を理解しよう

4-01 変数とは?

  • ブック名をダイアログボックスに表示する
  • 練習問題
  • MsgBox関数で文字列と変数を連結する
  • 演算子
  • 練習問題

4-02 変数の名前付け規則

  • 自分流の名前付け規則を作る

4-03 変数のスペルミスを防ぐ

  • 変数の明示的な宣言とは?
  • 変数を明示的に宣言する(1)-Dimステートメント
  • 変数を明示的に宣言する(2)-Option Explicitステートメント
  • 練習問題

4-04 変数のデータ型

  • 変数のデータ型とは?
  • データ型の宣言によりプログラミングミスを回避する
  • 主なデータ型
  • 文字列型-String
  • バリアント型-Variant
  • オブジェクト型(1)-Setステートメント
  • オブジェクト型(2)-固有オブジェクト型と総称オブジェクト型
  • 変数の宣言についての補足
  • 練習問題

5章 条件分岐を理解しよう

5-01 If...Then...Else ステートメント

  • 単一条件判断(1)-1行形式のIfステートメント
  • 練習問題
  • 単一条件判断(2)-ブロック形式のIfステートメント
  • 練習問題
  • 複数条件判断
  • 練習問題
  • 条件分岐のための演算子(1)-比較演算子
  • 練習問題
  • 条件分岐のための演算子(2)-And演算子
  • 練習問題
  • 条件分岐のための演算子(3)-Or演算子
  • 練習問題
  • 「=True」「=False」の省略
  • 練習問題

5-02 Select Case ステートメント

  • 比較演算子を使ったSelect Caseステートメント
  • 比較演算子を使わないSelect Caseステートメント
  • 練習問題

6章 繰り返し処理(ループ)を理解しよう

6-01 For...Next ステートメント

  • For...Nextステートメントとは?
  • For...Nextステートメントの中でカウンタ変数を利用する
  • 練習問題
  • For...Nextステートメントを終了する
  • 練習問題

6-02 For Each...Next ステートメント

  • For Each...Nextステートメントでコレクションに対してループする
  • 練習問題
  • For Each...Nextステートメントでセル範囲に対してループする
  • 練習問題

6-03 Do...Loop ステートメント

  • Do...Loopステートメントとは?
  • 条件が満たされるまでループする -Untilキーワード-
  • 条件を満たす間はループする -Whileキーワード-
  • 練習問題

7章 対話型マクロを作ろう

7-01 ダイアログボックスで押されたボタンを判断する

  • ユーザーに処理を選択させる
  • MsgBox関数の構文
  • MsgBox関数でダイアログボックスにボタンを配置する
  • MsgBox関数でダイアログボックスにアイコンを表示する
  • 練習問題
  • MsgBox関数でダイアログボックスにタイトルを表示する
  • MsgBox関数の対話型マクロを体験する
  • MsgBox関数の対話型マクロの特徴
  • 組み込み定数とは?
  • 練習問題

7-02 ダイアログボックスでデータの入力を促す

  • InputBoxメソッドの対話型マクロを体験する
  • InputBoxメソッドの対話型マクロの特徴
  • 練習問題
  • 文字列の入力を促すダイアログボックスを表示する
  • 練習問題
  • マウスによるセル範囲の選択を促すダイアログボックスを表示する
  • InputBox関数の使用例
  • InputBox関数とInputBoxメソッドの相違点
  • 練習問題

8章 文字列を操作する関数

8-01 VBA 関数とは?

  • ワークシート関数とVBA関数
  • メソッドと関数の違い
  • VBA関数の構文の見方

8-02 文字列を取得・検索する

  • 文字列を取得する(Left関数・Right関数・Mid関数・Len関数)
  • 練習問題
  • 文字列を検索する(InStr関数・InStrRev関数)
  • 練習問題

8-03 文字列を変換する

  • アルファベットの大文字と小文字を変換する(LCase関数・UCase関数)
  • 練習問題
  • 指定した方法で文字列を変換する(StrConv関数)
  • 文字列からスペースを削除する(LTrim関数・RTrim関数・Trim関数)
  • 指定した文字列を検索し別の文字列に置換する(Replace関数)
  • 練習問題

9章 日付や時刻を操作する関数

9-01 現在のシステム日付や時刻を取得する

  • 現在のシステム日付を返す(Date関数)
  • 現在のシステム時刻を返す(Time関数)
  • 現在のシステム日付及び時刻を返す(Now関数)
  • 練習問題

9-02 日付や時刻から必要な情報を取得する

  • 任意の日付を整数で返す(Year関数・Month関数・Day関数)
  • 任意の時刻を整数で返す(Hour関数・Minute関数・Second関数)
  • 数値から曜日を返す(WeekdayName関数)
  • 練習問題

9-03 日付や時刻を操作するその他の関数

  • 時間間隔を加算/減算した日付や時刻を返す
  • 練習問題
  • 2つの指定した日付の時間間隔を返す(DateDiff関数)
  • 練習問題
  • 日付から指定した部分のみを返す(DatePart関数)
  • 練習問題

10章 その他の便利な関数

10-01 VBA でExcel のワークシート関数を使う

  • VBAでExcelのMAXワークシート関数を使う
  • 練習問題

10-02 書式を設定する

  • 指定された書式に変換した値を返す(Format関数)
  • 数値及び通貨に用いる書式
  • 日付/時刻に用いる書式
  • 文字列に用いる書式
  • 練習問題
  • 通貨形式の書式に変換した値を返す(FormatCurrency関数)
  • 数値形式の書式に変換した値を返す(FormatNumber関数)
  • パーセント形式の書式に変換した値を返す(FormatPercent関数)

10-03 値のチェックを行う

  • 数値であるかどうかをチェックする(IsNumeric関数)
  • 日付・時刻型であるかどうかをチェックする(IsDate関数)
  • 練習問題

10-04 乱数を生成する

  • 乱数を生成する(Rnd関数)
  • 練習問題

付録

付録1 サンプルファイルについて

付録2 Visual Basic Editorのショートカットキー

付録3 VBA関数リファレンス

付録4 練習問題の解答