由于选择了组合框而更改文本框的值 VBA Excel

Changing value of TextBox due to selection of ComboBox VBA Excel

我有一个项目,在该项目中,我必须将文本框的值更改为在工作集中根据从组合框 select 编辑的值搜索的值。例如,如果我从组合框中 select "A" 它应该搜索工作表 "test" 找到 A 的输入并将文本框值更改为 1,因为这是为 A 输入的值。我已经看过这里提出的其他一些问题,但似乎无法让它为我工作。下面是我一直在尝试使用的代码。

Private Sub IDComboBox_Change()
Dim domainRange As Range
Dim listRange As Range
Dim selectedString As Variant
Dim lastRow As Long
If IDComboBox.ListIndex <> -1 Then
    selectedString = IDComboBox.Value
    lastRow = Worksheets("test").Range("A" & Rows.Count).End(xlUp).Row
    Set listRange = Worksheets("test").Range("A2:A" & lastRow)
    For Each domainRange In listRange
        If domainRange.Value = selectedString Then
            DomainOwnerTestBox.Value = "test"
        End If
    Next domainRange
End If
End Sub 

任何帮助都会很棒。如果您需要更多信息,请告诉我,也请耐心等待,因为我是 VBA.

的新手

谢谢

试试这个代码。它使用 Excel 内置 MATCH 函数在工作表 'test'.

的 A 列中搜索值
Private Sub IDComboBox_Change()
    Dim wks As Excel.Worksheet
    Dim selectedString As Variant
    Dim row As Long
    Dim value As Variant

    Set wks = Worksheets("test")

    If IDComboBox.ListIndex <> -1 Then
        selectedString = IDComboBox.value

        On Error Resume Next
        row = Application.WorksheetFunction.Match(selectedString, wks.Columns(1), 0)
        On Error GoTo 0

        If row Then

            value = wks.Cells(row, 2)   '<--- assuming that input values are in column 2.
            DomainOwnerTestBox.value = value

        Else

            'Value not found in the worksheet 'test'

        End If

    End If

End Sub