エクセルVBA 個人マクロでの注意点

個人マクロへVBAコードを格納して実行する時は、プロンプトに処理対象のブックを指定する


<条件>
VBAコードは、個人マクロから実行します
現在、作業しているアクティブなブックのシートを処理対象にしてください

ブックを明示しないと、ThisWorkBookのコードを生成する
※ThisWorkBookは
マクロがどのブックから実行されても、確実にマクロが含まれるブックを対象に操作する場合に使う
複数のブックを開いている場合に、間違えて別のブックに操作を行わないようにするために利用することが多い

個人マクロに登録したVBAで、ThisWorkBookを指定すると非表示にしているPersonal.xlsbブックが処理対象になってしまう

ThisWorkBook:マクロを実行しているワークブック
ActiveWorkBook:現在表示しているワークブック

例 ThisWorkbook
ThisWorkbook.Worksheets(“Sheet1”).Range(“A1”).Value = “Hello”

例 ActiveWorkbook
ActiveWorkbook.Sheets(“Sheet1”).Range(“A1″).Value = “Hello”