我有编程经验,但是,我是 VBA 新手。我有一个正在处理的用户表单。此表单有一个组合框,其中有一个初始化列表。我想做的是:
*从 ComboBox 中获取用户输入的 ID Number 值 *获取用户输入的值并使用工作表中的一系列值找到其匹配项(即 Worksheet.Range("ID_Number_List")) *一旦获得匹配项获取它匹配的单元格的位置 * Off 将单元格的位置设置一列以获取与 ID 号(相同行)相关的名称以将其设置为 textBoxName.Value *Off 将其设置为两列以获取与 ID 号相关的电话号码并将其设置为 textboxTele.value
我希望在从组合框中选择一个值后立即发生这种情况,所以我的问题是我的代码是进入组合框中还是进入下一个文本框?因此,只要该人切换到下一个文本框,代码就会自动执行。我希望代码能够完全执行,而不需要转到下一个框。
这段代码不完整,但这是我所拥有的(我没有添加偏移部分,我只是做了一个测试执行):
Dim ORIValue As String
'get value from combo_box Set
ORIValue = COMBO_ORILIST.Value
Dim cLoc As Range
Dim cORIVal As Range
'worksheet with the ID information Dim ORISheetList As Worksheet
Set ORISheetList = Worksheets("ORI_LIST")
'
For Each cLoc In ORISheetList.Range("ORI_LIST")
'compare the input string from list- considering using Match function for this
If StrComp(cLoc, ORIValue, vbTextCompare) Then TextBAgencyName.Value = "test"
Else: Next cLoc
End If
让我知道你的想法。如果我必须重写一切,我会的。