ExcelVBA,アクティブではないブックのセルを選択する

スポンサーリンク

鍛錬 647

ExcelVBA,アクティブではないブックのセルを選択する

Range オブジェクトに Select メソッドを使用してセルを選択する際、他のブックや他のシートなど、アクティブではないブックのセルを選択すると以下のような実行時エラー(1004)が表示されて実行できません。

エラー内容
実行時エラー ‘1004’:
Range クラスの Select メソッドが失敗しました。

実行時エラー1004の画面

アクティブではないブックやシートをアクティブに変更するには、Activate を使用します。
 
使用方法は、以下に示す通りです。

Workbooks(“ブック名”).Worksheets(“シート名”).Activate
スポンサーリンク

マクロ

以下は、アクティブではないブックのセルを選択するマクロ、SelectInactiveCell() です。

今回は、ワークブック「ABC.xlsx」の「Sheet1」をアクティブに変更して選択しています。

選択するワークブック 選択するワークシート 選択するセル
ABC.xlsx Sheet1 B6,B8,D6,D8,F6,F8
Sub SelectInactiveCell()
    ' 操作するワークシートをアクティブに変更
    Workbooks("ABC.xlsx").Worksheets("Sheet1").Activate
    
    ' 指定したセルを選択
    Workbooks("ABC.xlsx").Worksheets("Sheet1").Range("B6,B8,D6,D8,F6,F8").Select
End Sub
スポンサーリンク

実行結果

以下は、マクロ SelectInactiveCell() の実行結果です。

アクティブではないブック ABC.xlsx のワークシート Sheet1 をアクティブに設定することにより、指定したセルを選択することができました。

マクロ実行結果

タイトルとURLをコピーしました