我是第一次为一个创办企业的朋友创建一个用户表单来创建报价。这是从数据库中查找供应商详细信息和材料成本并创建报价。
我正在努力使用comboBoxes中的数据进行查找,然后显示在标签中……以后再出现在报价中。
我正在使用两个组合框来过滤数据,基于用户输入,我已经可以正常工作了。
我无法理解的一点是从第二个comboBox中获取结果,并在标签中显示水平相邻单元格中的数据。
我没有在标签中显示任何内容的代码是:
Private Sub Label14_Click()
Dim WF As WorksheetFunction
Dim Bx2 As String
Bx2 = Me.ComboBox2.Value
Set WF = WorksheetFunction
With Worksheets("Sheet2")
Bx2 = WF.Index(.Columns(2), WF.Match(WF.Max(.Columns(3)), .Columns(3), False))
Label14.Caption = "Bx2"
End With
Label14.Caption = "Bx2"
End Sub
我要从userform comboBox获得结果,在数组中查找/匹配,然后在userform标签中显示相邻单元格的结果。
更新... 感谢您提供的反馈意见,说明标签标题为何不起作用...绝对正确,删除“” 我仍然有问题...索引和匹配项始终返回运行时错误,但我不明白为什么。 错误显示方法'对象'_worksheet'的范围失败 代码现在看起来像这样……
Private Sub ComboBox2_Change()
Dim WF As WorksheetFunction
Dim Bx2 As String, Res
Dim rng As Range, v
Set rng = Sheet3.Range("B2", Sheet3.Cells(Rows.Count, "B").End(xlUp))
Set WF = WorksheetFunction
v = rng.Offset(0, 1)
Bx2 = Me.ComboBox2.Value
Res = WF.Index(Sheet3.Range(rng), WF.Match(Bx2, Sheet3.Range(rng), 0), WF.Match(Bx2, Sheet3.Range("v"), 0))
Label14.Caption = Res
End Sub