-ChatGPT-
-ChatGPT-4に質問
「VBAで仕訳シートとmanualシートを残して他のシートをすべて削除してください。」
ChatGPT4の回答
Sub DeleteSheetsExceptSpecific() Dim ws As Worksheet Dim sheetName As String Dim deleteConfirmation As VbMsgBoxResult ' 削除確認メッセージ deleteConfirmation = MsgBox("「仕訳」シートと「manual」シート以外のシートを削除しますか?", _ vbYesNo + vbQuestion, "削除確認") If deleteConfirmation = vbYes Then ' すべてのワークシートを調べる For Each ws In ThisWorkbook.Worksheets sheetName = ws.Name ' シート名が「仕訳」および「manual」以外の場合、シートを削除 If sheetName <> "仕訳" And sheetName <> "manual" Then Application.DisplayAlerts = False ' 削除時の警告をオフ ws.Delete Application.DisplayAlerts = True ' 削除時の警告をオン End If Next ws ' 削除完了メッセージ MsgBox "「仕訳」シートと「manual」シート以外のシートを削除しました。", vbInformation, "削除完了" Else ' キャンセルメッセージ MsgBox "削除をキャンセルしました。", vbInformation, "キャンセル" End If End Sub