-ChatGPT-4に「VBAで仕訳シートとmanualシートを残して他のシートをすべて削除してください。」と頼んだら

-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
タイトルとURLをコピーしました