• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで、シートを非表示のままマクロを実行するには?)

エクセルで非表示のままマクロを実行する方法

このQ&Aのポイント
  • エクセルで、シートを非表示のままマクロを実行する方法を教えてください。
  • Sheet2を非表示のままマクロを実行したい場合、Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Insert Shift:=xlDownでエラーが発生します。
  • Sheet2を一時的に表示させる方法で実行すると問題なく動作しますが、エラーが発生します。どうすればSheet2を非表示のままマクロを実行できるでしょうか?

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Insert Shift:=xlDown >で、アプリケーション定義・オブジェクト定義エラーになります。 CellsプロパテイもSheets("Sheet2")を参照するようにしましょう With Sheets("Sheet2")   .Range(.Cells(2, 28), .Cells(rowCnt, 37)).Insert Shift:=xlDown End With

mamama007
質問者

お礼

ありがとうございました!うまく行きました。 シートの参照の仕方がいけないのかと思いながらも調べきれずにいたのが、おかげさまで、すっきりしました。

その他の回答 (1)

  • liberty01
  • ベストアンサー率29% (16/54)
回答No.2

簡単な方法としては、 その非表示のシートを処理開始時に表示させて、処理終了後に非表示にすれば良いんじゃないの?? Private Sub EDITSLINF()  Worksheets("Sheet2").Visible = True  あなたの処理  Worksheets("Sheet2").Visible = False End Sub