シート名一覧から個別シートを作成する
A列にあるシート名リストを使い、各シートを作成します。
VBAマクロを無料のChatGPT(Microsoft 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