-ChatGPT4-に質問 VBAでInvoiceという文字を含むシートをコピーしてInvoice_ details(編集用)というシート名に変更

-ChatGPT4-

-ChatGPT4-へ質問

VBAでInvoiceという文字を含むシートをコピーしてInvoice_ details(編集用)というシート名に変更してください。

ChatGPT4の回答

Sub CopyInvoiceSheet()

    Dim ws As Worksheet
    Dim newWs As Worksheet

    ' シートを検索し、Invoiceという文字を含むシートを見つける
    For Each ws In ThisWorkbook.Worksheets
        If InStr(ws.Name, "Invoice") > 0 Then
            
            ' シートをコピーして新しいシートを作成
            ws.Copy After:=ws
            Set newWs = ActiveSheet
            
            ' 新しいシート名をInvoice_details(編集用)に変更
            newWs.Name = "Invoice_details(編集用)"
            Exit For
        End If
    Next ws

    ' シートが見つからない場合、エラーメッセージを表示
    If newWs Is Nothing Then
        MsgBox "Invoiceという文字を含むシートが見つかりませんでした。", vbCritical, "エラー"
    Else
        MsgBox "シートのコピーが完了し、新しいシート名はInvoice_details(編集用)です。", vbInformation, "完了"
    End If

End Sub
タイトルとURLをコピーしました