無料のノーコードアプリで、簡単にVBAコードを作成

AI(ChatGPT)で自分の価値を高める😊

MENU

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

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

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

 

ChatGPTのプロンプト

以下のVBAコードを作成できますか?
マクロ名は「 デモ 」とする。また、日本語でコメントをいれる。
概要:一覧表の各セルの値をシート名として新しいシートを順次作成する。
手順:
・「 一覧 」シートの「 A列 」にある一覧表の各行の値をシート名として新しいシートを作成する。
・既に同名のシートが存在する場合は、新たにシートを作成しない。
・最後に、「 一覧 」シートをアクティブにする。
・コードの最初に画面の更新と警告の表示を停止し、コードの最後でそれらを再開する。

 

(ポイント1)上の「プロンプトをコピーする」ボタンで、コピーできます。

 

(ポイント2)ChatGPTに貼り付けて、緑色の単語を、あなたの処理に合わせて修正します。内容の削除追加もできます。
(注:プロンプトの全てを読む必要はありません。緑色の行のみ集中して読み、修正してください)


(ポイント3)会話のスタイルは、「より厳密に」を選択します。

 

(ポイント4)プロンプトの改行は、ShiftキーEnterキーを同時に押します。

 

ChatGPTの回答

もちろんです。以下に指定の条件に基づいたVBAコードを示します:

Sub デモ()
    ' 画面の更新と警告の表示を停止
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range

    ' 「一覧」シートを選択
    Set ws = ThisWorkbook.Sheets("一覧")
    ' A列の範囲を設定
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

    ' 各セルの値をシート名として新しいシートを作成
    For Each cell In rng
        On Error Resume Next ' エラーを無視
        ' 同名のシートが存在する場合は、新たにシートを作成しない
        If ThisWorkbook.Sheets(cell.Value) Is Nothing Then
            ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Name = cell.Value
        End If
        On Error GoTo 0 ' エラーハンドラをリセット
    Next cell

    ' 「一覧」シートをアクティブにする
    ws.Activate

    ' 画面の更新と警告の表示を再開
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

 

プロンプトを作成し、VBAコードを実行してみて! ChatGPT凄い!!😊

 

VBAマクロを無料のChatGPTMicrosoft Copilotで作成します。

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