VBAコードでワークシートを削除しようとしています。ここでの一般的な考え方は、ワークシートの数が18に達すると、終了ワークシートを削除するということです。ワークシートはコレクションなので、私は試みました:Worksheets.Remove()経由でワークシートを削除する
If Worksheets.Count = 18 Then
Worksheets.Remove (Worksheets.Count)
End If
エラーを取得します。何か案は? ありがとう!
VBAコードでワークシートを削除しようとしています。ここでの一般的な考え方は、ワークシートの数が18に達すると、終了ワークシートを削除するということです。ワークシートはコレクションなので、私は試みました:Worksheets.Remove()経由でワークシートを削除する
If Worksheets.Count = 18 Then
Worksheets.Remove (Worksheets.Count)
End If
エラーを取得します。何か案は? ありがとう!
警告を最初に無効にしてから、deleteメソッドを使用する必要があります。
Application.DisplayAlerts = False
Worksheets(Worksheets.Count).Delete
Application.DisplayAlerts = True
代わりWorksheets.Delete("SheetName")
を使用してみてください:https://msdn.microsoft.com/en-us/library/office/ff837404.aspx。
If Worksheets.Count = 18 Then
Worksheets.Delete(Worksheets.Count)
End If
これを試してみてください:
Sub WorksheetDelete()
Application.DisplayAlerts = False 'To avoid display alert
Do Until ActiveWorkbook.Worksheets.Count>=18
ActiveWorkbook.Worksheets(18).Delete 'Delete the 18th worksheet
Loop
Application.DisplayAlerts = True 'Turn on the Alerts
End Sub
ありがとうございました。これはなぜですか? –
まず、適切な方法は '削除'ではなく '削除'です。第2に、削除には通常ユーザー確認が必要なので、アラートを無効にしてバイパスする必要があります。重要なアラームを見逃さないようにアラートを再度有効にする必要があります。 – yk11
これは注意して行う必要があります! –