ユーザーが Excel の画像 (ボタン) をクリックすると、ワークシートを削除しようとしています。ただし、これによりExcelがクラッシュして再起動し、保存されていない進行状況が忘れられます。
これは私のサブです:
Sub DeletePlan()
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Dim SheetNamesToCopy As String
SheetNamesToCopy = ActiveSheet.Name
' Check what addon sheets exists for the media, then add existing ones to string
If CheckSheet("periodeplan", True) = True Then
ThisWorkbook.SheetS(SheetNamesToCopy & " - periodeplan").Delete
End If
If CheckSheet("ukesplan", True) = True Then
ThisWorkbook.SheetS(SheetNamesToCopy & " - ukesplan").Delete
End If
If CheckSheet("Input", True) = True Then
ThisWorkbook.SheetS(SheetNamesToCopy & " - Input").Delete
End If
SheetS("Totalplan").Select
ThisWorkbook.SheetS(SheetNamesToCopy).Delete
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
End Sub
ほとんどの場合、アプリケーションがクラッシュします。しかし、常にではありません...何が間違っているのでしょうか?(削除機能がクラッシュを引き起こすことをテストして確認しましたが、必ずしも同じシートではありません)。
編集:この関数は、ワークブックの最後のシートを削除していません。あと20枚あります。またApplication.Calculation = xlCalculationAutomatic
、式の割り当てがあり、すべての接続されたシートが削除される前にExcelで変更を計算したくないため、を使用します。
ヒントや回答をいただければ幸いです:)