※ ChatGPTを利用し、要約された質問です(原文:エクセルで、シートを非表示のままマクロを実行するには?)
エクセルで非表示のままマクロを実行する方法
2010/02/15 12:26
このQ&Aのポイント
エクセルで、シートを非表示のままマクロを実行する方法を教えてください。
Sheet2を非表示のままマクロを実行したい場合、Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Insert Shift:=xlDownでエラーが発生します。
Sheet2を一時的に表示させる方法で実行すると問題なく動作しますが、エラーが発生します。どうすればSheet2を非表示のままマクロを実行できるでしょうか?
エクセルで、シートを非表示のままマクロを実行するには?
エクセル初心者です。
Sheet1で、マクロの実行ボタンがあり、Sheet2で、データを編集して、
Sheet1に結果の一覧を表示させるマクロなのですが、
Sheet2は非表示のままマクロを実行したいのですが、うまくいかず、
Sheet2を表示して、実行するとうまくいくため、
一時的にシートを表示させるようにしてみたのですが、
Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Insert Shift:=xlDown
で、アプリケーション定義・オブジェクト定義エラーになります。
どなたかご指南下さい。
Private Sub EDITSLINF()
Dim rowCnt As Long
Application.ScreenUpdating = False
Worksheets("製造記録一覧 (edit1)").Visible = True
Sheets("Sheet2").Range("AB2:AK300").ClearContents
'追加レコード抽出&コピー&ペースト
Sheets("Sheet2").Range("Q1:Z300").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"AP1:AP2"), CopyToRange:=Sheets("Sheet2").Range("AB1:AK1"), Unique:=False
'既存レコードコピー&ペースト
rowCnt = Sheets("Sheet2").Range("O1")
Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Insert Shift:=xlDown
Sheets("Sheet2").Range(Cells(2, 28), Cells(rowCnt, 37)).Interior.ColorIndex = xlNone
Sheets("Sheet2").Range(Cells(2, 2), Cells(rowCnt, 11)).Copy
Sheets("Sheet2").Range("AB2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Worksheets("Sheet2").Visible = False
'メインシートへコピー
Application.CutCopyMode = False
Sheets("Sheet2").Range("AB2:AJ300").Copy
Sheets("Sheet1").Range("K4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End Sub
質問の原文を閉じる
質問の原文を表示する
お礼
ありがとうございました!うまく行きました。 シートの参照の仕方がいけないのかと思いながらも調べきれずにいたのが、おかげさまで、すっきりしました。