VBAが嫌いな人が書いたVBA入門記事その2です。初心者の人も最低限だけ身に付けてPythonに移行しましょう。→VBAユーザーのためのPython入門 ~xlwingsでExcelからPythonを呼び出す~
記事一覧
- Excel VBA入門 ~その1 Excel VBAとは~
- Excel VBA入門 ~その2~
- Excel VBA入門 ~その3 基礎1~
- Excel VBA入門 ~その4 基礎2~
- Excel VBA入門 ~その5 Tips~
- Excel VBA入門 ~その6 アンチパターン~
エディターを開く & 準備
Excelを起動し、Alt + F11でVBAエディターを開く。
最初の設定を行う。 ALt -> T -> Oでオプション画面を開き、
- オプション画面の編集タブで、自動構文チェックのチェックを外す。
- 同じく編集タブで、変数の宣言を強制するをチェックする。変数の宣言を強制する理由はこちら
- オプション画面のドッキングタブで、イミディエイトウィンドウ等、表示されているものの全てをチェックする。
最初のプログラム
プロジェクト ウィンドウで開いているファイルを右クリック -> 挿入 -> 標準モジュール で標準モジュールを作成。
Option Explicit
Sub test()
    Dim msg As String
    msg = "hello"
    Debug.Print msg
End Sub
上記を標準モジュールに貼り付け、F5で実行。実行後、イミディエイトウィンドウにhelloと表示される。
デバッグ
Debug.Print msgの左側の枠をクリックし、ブレーク ポイントを設定する。
先ほどと同様にF5で実行すると、ブレーク ポイントでマクロが停止する。
デバッグでできること:
- 
F8でステップ実行が可能(ステップ オーバー、ステップ アウトも)
- イミディエイトウィンドウで簡単なコードを実行可
- ローカル ウィンドウで変数の状態を確認可
- ウォッチ ウィンドウで変数のウォッチまたは指定した条件でのブレークが可能
- 左側の枠にある黄色い矢印を動かすことで、実行中の行をずらすことが可能。
マクロの記録
Excelをアクティベイト -> リボンの開発タブ(ALT, L) -> マクロの記録(R) でマクロの記録を開始。開発タブ -> 記録の停止ボタンで記録を停止。
開始から停止までの間に行ったExcel上での操作が記録され、VBAのモジュールに保存される。
注意: 読みにくいコードが生成されるため、そのまま利用すると保守が辛くなる。行いたい操作を実現するための方法(オブジェクトやそのメンバーの使い方)の確認に留めるべき。