【ユーザーフォーム】シートを選択させるフォーム作成(動画あり)

エクセルマクロ_ユーザーフォームでシート選択_アイキャッチ ExcelVBA

ユーザーフォームで、シートを選択させるフォームを作るマクロコードをご紹介します。

ListBoxにシート一覧を表示して、シートを選択します。
シート数の増減にも対応しているVBAコードです。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

ユーザーフォームを作成して開く

エクセルにコマンドボタンを作成し、ユーザーフォームを開きます。


 

マクロコードを標準モジュール「Module1」に入力します。


Sub ボタン1_Click()
    UserForm1.Show vbModeless
End Sub

 

マクロコードを「Module1」に入力した画面の様子


 

ユーザーフォーム内部にマクロコードを入力する

マクロコードを「UserForm1」に入力します。


Option Explicit
Dim ShtName As String

Private Sub CommandButton1_Click()

    ShtName = UserForm1.ListBox1.Value

    'シートを選択する
    Sheets(ShtName).Activate

End Sub

Private Sub UserForm_Initialize()

Dim MyList() As Variant
Dim i As Integer

    With UserForm1.ListBox1

        '1つだけ選択
        .MultiSelect = fmMultiSelectSingle

        'チェックボックス表示
        .ListStyle = fmListStyleOption
        
        ReDim Preserve MyList(Sheets.Count)

        'シート名を取得
        For i = 1 To Sheets.Count
            MyList(i) = Sheets(i).Name
        Next i

        'リストボックスに追加
        For i = 2 To UBound(MyList)
            .AddItem MyList(i)
        Next i
    End With

End Sub

 

マクロコードを入力する場所「UserForm1」


 

動作

「ユーザーフォームを開く」ボタンをクリックして、ユーザーフォームを起動します。


 
 

ユーザーフォームから開きたいシート名を選択して、「シートを開く」ボタンをクリックします。

選択したシートを開いて、アクティブの状態にします。

ユーザー側が簡単にアクティブシートを切り替えることができます。
 
 
この記事がお役に立ちますと幸いです。
 
・【ExcelVBA】ユーザーフォーム作成の事例まとめ
 

【VBAユーザーフォーム】何ができるの?:使用例34選
エクセルのユーザーフォームで、処理を自動化するVBAコードをご紹介します。ぜひお試しください😉

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている