目次
実行時エラー '1004'
今回の投稿では、 Excel VBA の Select メソッドでエラーが発生した場合の対処方法を書いていきたいと思います。

エラーの再現
まずは、エラーの再現をしてみたいと思います。
下記のマクロを作成してみました。「Sheet1」の「A1」セルを選択状態にするマクロになっています。
ワークブックには、「Sheet1」「Sheet2」「Sheet3」が存在しています。
Sub selectメソッドでエラーが発生するマクロ()
Worksheets("Sheet1").Range("A1").Select
End Sub

上記のマクロを、「Sheet2」または「Sheet3」から呼び出して実行すると、実行時エラー'1004'が発生してしまいます。
「Sheet1」から実行すると正常に処理が完了します。「Sheet1」以外のワークシートからマクロを実行するとエラーが発生しているようです。
「Graph」シートから実行した場合もエラーが発生してしまいます。
エラーを解消
今回のようなエラーの解消方法として、以下のマクロ作成してみました。
「Worksheets("Sheet1").Activate」の記述を追加して、「Sheet1」をアクティブにしてから、セル選択を行っています。
Sub selectメソッドでエラーが発生するのを回避するマクロ()
Worksheets("Sheet1").Activate 'この記述を追加してみました。先に「Sheet1」をアクティブにしておきます。
Worksheets("Sheet1").Range("A1").Select
End Sub
上のマクロを実行すると、ワークシート「Sheet1」がアクティブになり、セル「A1」が選択状態になると思います。「Sheet1」以外のワークシートからマクロを実行してもエラーが発生しないと思います。
テスト環境
- Windows 10
- Microsoft Office Excel 2003
あとがき
エラーの発生源、解消方法は色々とあると思いますので、一例としてご覧ください。
以上閲覧ありがとうございました。