首页 > 解决方案 > 来自用户表单组合框的结果,查找/匹配然后在用户表单标签中显示来自相邻单元格的结果

问题描述

我第一次为一个正在创业的朋友创建一个用户表单来创建报价。它是从数据库中查找供应商详细信息和材料成本并创建报价。

我正在努力使用来自组合框的数据进行查找,然后显示在标签中……稍后出现在报价单上。

我正在使用两个组合框来过滤数据,根据用户输入,我可以正常工作。

我无法解决的问题是从第二个组合框获取结果并显示标签中水平相邻单元格的数据。

我在标签中不显示任何内容的代码是:

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

我想要来自用户表单组合框的结果,在数组中查找/匹配,然后在用户表单标签中显示来自相邻单元格的结果。

更新...感谢反馈为什么标签标题不起作用...完全正确删除“”我仍然有问题...索引和匹配不断返回运行时错误,但我不明白为什么.. 错误说 Method'Range of object'_worksheet'failed 代码现在看起来像这样......

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

标签: excelvbauserform

解决方案


推荐阅读