このコードは通常の標準モジュールではなく、シートのコードウィンドウに貼り付けてください。
「シート名一覧」をクリックしたら、該当のシートを開く
「シート名一覧」にあるシート名のセルをクリックしたら、該当のシートがアクティブになります。そして、「シート名一覧」と該当シート以外は非表示になります。
ChatGPTのプロンプト
下記の順番で、VBAコードを作成できますか? ・「 シート名一覧 」シートのコードウィンドウに貼り付けるイベントプロシージャ(Worksheet_SelectionChange)を作成する。また、日本語でコメントをいれる。 ・ユーザーが、「 シート名一覧 」シートの「 A列 」のセルをクリックすると、そのセルの値を取得する。 ・「 シート名一覧 」シート以外のシートを非表示にする。 ・取得した値のシートをアクティブにする。
(ポイント1)上の「プロンプトをコピーする」ボタンで、コピーできます。
(ポイント2)ChatGPTに貼り付けて、緑色の単語を、あなたの処理に合わせて修正します。内容の削除や追加もできます。
(注:プロンプトの全てを読む必要はありません。緑色の行のみ集中して読み、修正してください)
(ポイント3)会話のスタイルは、「より厳密に」を選択します。
(ポイント4)プロンプトの改行は、ShiftキーとEnterキーを同時に押します。
ChatGPTの回答
もちろんです。以下に指定の条件に基づいたVBAコードを示します:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' セルが選択されたときに実行されるイベントプロシージャ Dim ws As Worksheet Dim sheetName As String ' A列のセルが選択された場合のみ処理を実行 If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then ' 選択されたセルの値(シート名)を取得 sheetName = Target.Value ' すべてのシートを非表示にする For Each ws In ThisWorkbook.Worksheets If ws.Name <> "シート名一覧" Then ws.Visible = xlSheetHidden End If Next ws ' 選択されたシート名のシートをアクティブにする ThisWorkbook.Sheets(sheetName).Visible = xlSheetVisible ThisWorkbook.Sheets(sheetName).Activate End If End Sub
プロンプトを作成し、VBAコードを実行してみて! ChatGPT凄い!!😊
VBAマクロを無料のChatGPT(Microsoft Copilot)で作成します。
Copilot(https://copilot.microsoft.com)はログイン不要。すぐVBAマクロが完成します。