ExcelやAccessのフォーム、及びすべてのフォームコントロールにTagプロパティが存在しています。
このTagプロパティには特別な意味はなく、プログラマが自由な使い方をすることができるプロパティです。それ故に、どのように使えばよいのか考えてしまうものでもあります。
今回は使い道の1つとして、種類違いのコントロールをグループ化して扱う方法をご紹介します。
赤い線で囲っているコントロールは、上から順番にTextBox、ComboBox、ListBox、ToggleButtonです。
この4つのコントロールのTagプロパティに「group1」を設定します。
こうすることで、繰り返し処理を使い「group1」のコントロールに対する処理を実行することができるようになります。
以下はコマンドボタンをクリックしたときの処理です。
1 2 3 4 5 6 7 8 9 |
Private Sub CommandButton1_Click() Dim obj As Object For Each obj In UserForm1.Controls If obj.Tag = "group1" Then Debug.Print obj.Name End If Next End Sub |
実行結果は、イミディエイトウィンドウに「group1」のコントロール名のみ表示されています。
コントロールの種類が多い場合、コントロールの種類ごとに処理を書くのは大変なので、そのようなときにTagプロパティを活用してみてください。