複数のワークシートを持つワークブックがありますが、そのほとんどは特定のマクロを実行するたびに削除されます。削除するワークシートの数は、1〜150の範囲で変化します。複数のワークシートを高速で削除する方法
現在、以下のマクロのセクションでは、78のワークシートを削除するのに約215秒かかります。それを速くする方法はありますか?同様の数のワークシートに対して60秒未満のランタイム?
For Each WrkSh In MainFile.Worksheets
If WrkSh.Index > 5 Then
WrkSh.Delete
End If
Next WrkSh
MainFile.Sheets("Input").Unprotect
MainFile.Sheets("Buyers").Unprotect
MainFile.Sheets("Template").Visible = True
MainFile.Sheets("Holidays").Visible = True
With MainFile.Sheets("Input")
.Range("A10:A200").ClearContents
.Range("E11:N200").Clear
End With
With MainFile.Sheets("Buyers")
.Range("A10:B40").ClearContents
.Range("C11:J40").Clear
End With
EDIT:
は、ここでは、コードの該当部分である私は、メインコードの先頭でこのApplication.ScreenUpdating = False
を持っています。
シートを削除する前に計算を手動に設定してみましたが、後でリセットしましたか? – Rory