VBA~ユーザーフォームのタブストリップのラベルの表示をシートから参照しよう~Excel
ユーザーフォームのタブストリップのラベルの表示をシートから参照する
下の画像においてタブストリップをダブルクリックすると下のコードが表示されます。
Private Sub TabStrip1_Change() End Sub
ここに処理内容を書き込めばタブを切り替えたときの処理を設定できます。今回は下のコードでシートを参照しTab1を選択した時にLabel1にシートのセルA1の月と表示し、Tab2を選択した時にLabel1にシートのセルB1の火と表示するように設定します。各タブにはインデックス番号が割り振られていて左から0,1,2・・・となります。インデックス番号は[オブジェクト名.Value = インデックス番号]で取得できるのでIf文で各インデックス番号の時の処理を分岐しています。シートのデータを参照したい時は[オブジェクト名.ControlSource = "シート名!セル番号"]で取得できます。
Private Sub TabStrip1_Change() If TabStrip1.Value = 0 Then Label1.ControlSource = "Sheet1!A1" ElseIf TabStrip1.Value = 1 Then Label1.ControlSource = "Sheet1!B1" End If End Sub
VBAで下のコードを実行すると作成したユーザーフォームが表示されTab1を選択した時にLabel1に月と表示し、Tab2を選択した時にLabel1に火と表示されます。
Sub test1() Load UserForm1 UserForm1.Label1.ControlSource = "Sheet1!A1" UserForm1.Show End Sub