即座にエクセル作業を自動化する無料アプリ

AIで自分の価値を高める方法とは🙄

MENU

【ChatGPT×VBA】シート名一覧から個別シートを作成する(VBA)

シート名一覧から個別シートを作成する

A列にあるシート名リストを使い、各シートを作成します。

 

VBAマクロを無料のChatGPTMicrosoft Copilotで作成します。
性能が向上し、シンプルなプロンプトで作成できます。

Copilot(https://copilot.microsoft.com)はログイン不要。すぐVBAマクロが完成します。

 

ChatGPTのプロンプト

処理概要:「一覧」シートのA列の値をシート名とするシートを作成する。
処理1:同名のシートが存在する場合は、シートを作成しない。
処理2:最後に「一覧」シートをアクティブにする。

 

ChatGPTの回答

もちろん、以下のVBAコードに日本語のコメントを追加しました。

Sub CreateSheets()
    Dim ws As Worksheet
    Dim wsList As Worksheet
    Dim sheetName As String
    Dim cell As Range
    
    ' 「一覧」シートを設定
    Set wsList = ThisWorkbook.Sheets("一覧")
    
    ' 「一覧」シートのA列の各値について
    For Each cell In wsList.Range("A1:A" & wsList.Cells(wsList.Rows.Count, "A").End(xlUp).Row)
        sheetName = cell.Value
        
        ' シート名が空でない場合のみ
        If sheetName <> "" Then
            ' 同名のシートが存在しない場合のみ
            On Error Resume Next
            Set ws = ThisWorkbook.Sheets(sheetName)
            On Error GoTo 0
            
            If ws Is Nothing Then
                ' 新しいシートを作成
                ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Name = sheetName
            End If
            Set ws = Nothing
        End If
    Next cell
    
    ' 最後に「一覧」シートをアクティブにする
    wsList.Activate
End Sub