教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】ブックをアクティブ(Activate)にするにはどうすればいいの?教えて!

f:id:m_kbou:20190716125904p:plain

アクティブとは今まさに操作対象となっている状態を言います。ブックをアクティブに指定した場合には、指定したブックが前面に表示される事になります。ブックをアクティブにする方法について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Workbooks(”[ブック名]”).Activate 

[説明]:

ブックをアクティブにするには

 「Workbooks(”[ブック名]”).Activate」

と記述します。

[ブック名] アクティブにしたいブック名を記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Workbooks("Book1.xlsx").Activate

 

使い方

使い方について具体的に説明します。

[プログラミング例]:

Sub サンプル()

  Workbooks("Book1.xlsx").Activate
  MsgBox "Book1.xlsxをアクティブにしました。"

End Sub

内容は、「Book1.xlsxブックをアクティブにし、最後にMsgBoxで”Book1.xlsxをアクティブにしました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210318081200p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

※事前準備として、演習.xlsmファイルとBook1.xlsxファイルを開いておきます。

f:id:m_kbou:20210318081127p:plain

f:id:m_kbou:20210318081148p:plain

①最初に演習.xlsmファイルをアクティブにします。演習.xlsmファイルには<実行>ボタンが設置されており、ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。) 

f:id:m_kbou:20210318081228p:plain

②結果はBook1.xlsxブックが演習.xlsmファイルの上に表示され、MsgBoxで「Book1.xlsxをアクティブにしました。」が表示されます。(※Book1.xlsxブックがアクティブになった事が確認できます。)

f:id:m_kbou:20210318081250p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ブックをアクティブにする方法についての説明は以上です。

 

おわりに

今回はブックをアクティブにする方法について説明しました。WorkbookオブジェクトはWorksheetオブジェクトとは違い、Selectメソッドで選択する事はできません。次の様なコード記述ではエラーになりますので注意して下さい。
Workbooks("Book1.xlsx").select