Excel で thisworkbook vba 変数を使用するにはどうすればよいですか?
VBA では、ThisWorkbook プロパティを使用して、コードを記述するブックを参照できます。これを使用すると、現在のワークブックのすべてのプロパティとメソッドにアクセスできます。簡単に言えば、名前を使用せずに現在のワークブック内のすべてのタスクを実行できます。
現在のブック内のシートをカウントするとします。記述する必要があるコードは次のようになります。
Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
このコードを実行すると、現在のブックにあるシートの数を示すメッセージ ボックスが表示されます。
先ほど述べたように、ThisWorkbook を使用すると、現在のワークブックのプロパティとメソッドにアクセスできるようになります。ピリオド (.) を入力すると、これらすべてが表示され、完全なリストが表示されます。
役立つリンク:マクロの実行–マクロ レコーダー– Visual Basic Editor –パーソナル マクロ ハンドブック
ThisWorkbook を変数とともに使用する
次に、ThisWorkbook プロパティを使用する変数を宣言する実際のコード例を示します。現在のワークブックでいくつかのアクティビティを実行するとします。
Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub
このコードの最初の部分には変数があり、それに「ThisWorkbook」プロパティを与えます。そして 2 番目の部分には、現在の変数を使用して複数のアクティビティを実行する WITH STATEMENT があります。
ActiveWorkBook とこのワークブック
簡単な例えで説明しましょう。あと 2 分間お待ちください。
同時に 2 つのワークブック (Book1 と Book2) が開いています。 book1 にコードを記述しますが、この時点では book2 がアクティブになっています。したがって、 ActiveWorkbook を参照するこのコードを実行すると、このアクティビティは Book2 で実行されます。
ただし、ThisWorkbook を使用する場合、VBA は常に、コードが記述されているブックを参照します。
ここで重要なのは、エラーの可能性を排除できるため、ThisWorkbook を使用する方が常に良いということです。
VBA ワークブックの詳細については、こちらをご覧ください。
- VBA ワークブックの保存
- VBA ワークブックを閉じる
- VBA ワークブックの削除
- VBA の名前変更ワークブック
- VBA アクティブ化ワークブック