-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

