VBAを使用して、Excelのフォームにコンボボックスで従業員番号を選択し、その番号に対応する従業員名をテキストボックスに表示する方法は非常に便利です。この処理を実装することで、データの管理や入力が効率よく行えます。この記事では、従業員番号と従業員名をコンボボックスとテキストボックスに反映させるVBAコードを解説します。
VBAでコンボボックスにデータをセットする
まず、従業員番号を格納しているセル(C5:C14)をコンボボックスにセットします。これにより、ユーザーはコンボボックスから従業員番号を選択できるようになります。コンボボックスにデータをセットするには、以下のコードをVBAに記述します。
Sub SetComboBoxData()
Dim i As Integer
For i = 5 To 14
ComboBox1.AddItem Cells(i, 3).Value
Next i
End Sub
このコードは、C5からC14までのセルに入力されている従業員番号をコンボボックスに追加します。これにより、コンボボックスに従業員番号の選択肢が表示されるようになります。
従業員番号に対応する従業員名をテキストボックスにセットする
次に、コンボボックスで選択された従業員番号に対応する従業員名をテキストボックスに表示させます。従業員名はD5:D14に格納されているので、従業員番号を選択した際に、対応する名前をテキストボックスに反映させるコードを記述します。
Sub ComboBox1_Change()
Dim selectedEmployee As String
Dim rowNum As Integer
selectedEmployee = ComboBox1.Value
For rowNum = 5 To 14
If Cells(rowNum, 3).Value = selectedEmployee Then
TextBox1.Value = Cells(rowNum, 4).Value
Exit For
End If
Next rowNum
End Sub
このコードでは、コンボボックスで選択された従業員番号(ComboBox1.Value
)と、C列に入力されている従業員番号を比較し、一致する番号が見つかった場合、対応する従業員名(D列の値)をテキストボックスに表示します。
まとめと注意点
このVBAコードを使用すると、コンボボックスで従業員番号を選択した際に、その番号に対応する従業員名をテキストボックスに表示させることができます。従業員番号がC列に、従業員名がD列に入力されている場合、このコードは効率的に動作します。
注意点として、コンボボックスやテキストボックス、セルの範囲を正しく設定することが重要です。また、VBAコードを実行する際に、シート名やコントロール名(ComboBox1
やTextBox1
)が正しいことを確認してください。
コメント