Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » VBAでアクティブブックを切り替えるには

VBAでアクティブブックを切り替えるには

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2411(ビルド18217.20000クイック実行)ベータチャネル

「excel vba アクティブブック 切り替え」
といった検索でアクセスがありました。

Excel VBAでアクティブなブックを切り替える・変更するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

[スポンサードリンク]

アクティブブックを切り替えるサンプルマクロ

以下のExcelマクロを作成してあるブックと、「マクロ無しのブック.xlsx」とが開かれている状態で、マクロを作成したあるブックがアクティブな状態で「アクティブブックを切り替える」マクロを実行してください。

Sub アクティブブックを切り替える()
 MsgBox ActiveWorkbook.Name
 Workbooks("マクロ無しのブック.xlsx").Activate
 MsgBox ActiveWorkbook.Name
End Sub

最初にマクロを作成してあるブックの名前がメッセージボックスに表示され、その後アクティブなブックの切り替え・変更が行われて「マクロ無しのブック.xlsx」とメッセージボックスに表示されます。

アクティブブックを切り替えているのは、

 Workbooks("マクロ無しのブック.xlsx").Activate

の行です。

Workbookオブジェクトに用意されているActivateメソッドを呼び出すことで、

アクティブなブックが切り替わります。

ブックを開けばアクティブブックは切り替わる

「マクロ無しのブック.xlsx」が開かれていない状態も見ておきましょう。

Cドライブのtempフォルダーに「マクロ無しのブック.xlsx」がある状態で、以下のExcelマクロを実行してください。

Sub ブックを開けばアクティブブックが切り替わる()
 MsgBox ActiveWorkbook.Name
 Workbooks.Open "C:\temp\マクロ無しのブック.xlsx"
 MsgBox ActiveWorkbook.Name
End Sub

最初にマクロを作成したブックの名前がメッセージボックスに表示され、その後「マクロ無しのブック.xlsx」とメッセージボックスに表示されます。

Excelでブックを開く操作を行うと、最後に開いたブックがアクティブになります。

VBAの場合も同じです。
ブックを開いた直後ならば、開いたばかりのブックがアクティブになっています。

最終更新日時:2023-10-28 16:19

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » VBAでアクティブブックを切り替えるには

「Workbooks・Workbook」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.