• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:range クラスのselectメソッドが・・・)

エクセルマクロ実行時にRangeクラスのselectメソッドが失敗するエラーの原因と解消方法

このQ&Aのポイント
  • エクセルマクロを実行する際に、Columns("A:D").Select の部分でエラーが発生し、「Range クラスのselectメソッドが失敗しました。」というメッセージが表示される場合があります。
  • このエラーの原因は、範囲が正しく指定されていないか、対象のシートがアクティブでないことが考えられます。
  • 解決方法としては、Columns("A:D").Select の前にActiveWindow.Select やSelection.Select、Worksheets("シート名").Activate を試してみることが挙げられます。また、範囲の指定が正しいか確認することも重要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

Worksheets("シート名").Activate Columns("A:D").Select このように書くと、1行目のシートがActiveになるのですが 2行目が指定しているのは元のシートのcolumnsになり、エラーになります。 シートをactiveにした上で Worksheets("シート名").Activate シートまで指定して Worksheets("シート名").Columns("A:D").Select と書けば望みの通りの動作になります。

sou-kana
質問者

補足

Worksheets("シート名").Activate Worksheets("シート名").Columns("A:D").Select やってみましたが、同じエラーが出ます。 不思議ことに、デバックをクリックしてコードを表示させると Worksheets("シート名").Activate Worksheets("シート名").Columns("A:D").Select が消えていて、 Columns("A:D").Select に戻った状態で、黄色マーカーになっています。 エクセルに戻って、マクロの編集からコードを開くと Worksheets("シート名").Activate Worksheets("シート名").Columns("A:D").Select の記載がキチンと出ます。 このような現象は始めてで、原因がさっぱりわかりません。

関連するQ&A