いくつかのコンボ ボックスを含むフォームがあります。最初のコンボボックスは、Excel シートの各行に基づいてアイテムを追加します。
Public Sub FetchExcelValues(ByVal ControlType As String, ByVal control As Object, ByVal xlApp As Object, ByVal xlWorkBook As Object, ByVal xlWorkSheet As Object, ByVal column As String, ByVal row As Integer)
Dim iTeller = row
Dim tekst As String
Do
tekst = xlWorkSheet.Cells(iTeller, column).Value
If tekst <> "" Then
If ControlType = "Tekstboks" Then
control.text = tekst
End If
If ControlType = "Combobox" Then
control.Items.Add(tekst)
End If
If ControlType = "Label" Then
control.text = tekst
End If
End If
iTeller = iTeller + 1
Loop Until tekst = ""
End Sub
これは基本的に、空白のセルに到達するまで、指定された列の各セルを読み取ります。次に、各セルの値を取得し、最初のコンボ ボックスにアイテムとして追加します。次にコードに実行させたいのは、このコンボ ボックスから選択した項目を取得し、別のワークシートで一致するものを探すことです。一致するセルが見つかったら、一致する行と同じ行の列 B から値を取得する必要があります。複数の一致もある可能性があるため、一致が見つかるたびに、同じ行の列 B の値を取得し、それを 2 番目のコンボボックスの項目として追加したいと考えています。
これを達成する最善の方法は何ですか?