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

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

MENU

【ChatGPT×VBA】変換表を使い複数の文字列を置換する

変換表を使い複数の文字列を置換する

右にある変換表を使い、左の日本語を、英語に置換します。

 

ChatGPTのプロンプト

Replaceメソッドを使って、以下のVBAコードを作成できますか?
マクロ名は「 デモ 」とする。また、日本語でコメントをいれる。
概要:特定の範囲内の文字列を変換表を使い置換する。
手順:
・「 Sheet1 」シートの「 E1 」セルから「 F11 」セルまでの範囲の文字列を、変換表として2次元配列で読み込む。
・「 Sheet1 」シートの「 A1 」セルから最終行までの範囲内の各セルについて、変換表の左列「 E列 」の値を右列「 F列 」の値に置換する。
・コードの最初に画面の更新と警告の表示を停止し、コードの最後でそれらを再開する。

 

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

 

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


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

 

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

 

ChatGPTの回答

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

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

    ' 変換表を2次元配列に読み込む
    Dim 変換表 As Variant
    変換表 = Worksheets("Sheet1").Range("E1:F11").Value

    ' 最終行を取得
    Dim 最終行 As Long
    最終行 = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

    ' A1セルから最終行までの範囲内の各セルについて、変換表の左列の値を右列の値に置換する
    Dim i As Long, j As Long
    For i = 1 To 最終行
        For j = 1 To UBound(変換表, 1)
            Worksheets("Sheet1").Cells(i, 1).Value = Replace(Worksheets("Sheet1").Cells(i, 1).Value, 変換表(j, 1), 変換表(j, 2))
        Next j
    Next i

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

 

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

 

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

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