【问题标题】:Index Match in excel userformexcel用户表单中的索引匹配
【发布时间】:2015-09-23 02:10:20
【问题描述】:

我的用户表单包含目标值和实际值的 2 个文本框。

TextBox1 将是我的目标值,而 TextBox2 将是我的实际值。

当输入实际值时,用户表单将查看工作表“目标”并检查是否需要充值才能达到目标值。

这是我的“目标”工作表中的数据:

单元格 G1:S1 将是我的目标值,而 F2:F19 将是我的实际值。 如果 textbox2(实际值)等于 20A 而我的 textbox1(目标值)是 5S, 当转到下一个字段 textbox3 填写其他数据时,它会弹出一条消息提醒用户添加 50ml conpac 以达到目标值。

我一直在通过网页进行研究,但似乎索引匹配在这种情况下没有帮助。请帮忙。

谢谢

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    如果您创建以下命名范围:G1:S1 命名为“Target_Value”,F2:F19 命名为“Actual_Value”,G2:S19 命名为“Additions”,则:

    =INDEX(Additions,MATCH("20A",Actual_Value,0),MATCH("5S",Target_Value,0))
    

    将返回 50。您可以将其放在某个单元格中或修改它以在 VBA 中工作(使用 Application.Worksheetfunctions)

    【讨论】:

    • 您好,我尝试将其设置到代码中,但它显示运行时错误 1004:无法获取工作表函数类的匹配属性。这是我的代码: Private Sub ComboBox6_Change() myrange = Application.WorksheetFunction.Index("Target!Additions", Application.WorksheetFunction.Match(TextBox2.Value, "Target!Actual", 0), Application.WorksheetFunction.Match( TextBox1.Value, "Target!Target", 0)) MsgBox myrange End Sub
    • 将“Target!Additions”替换为 Range("Target!Additions") 或 Range("Target!Additions").Value 等,用于实际和目标。或者,声明一个 Range 类型的变量 Additions 并包含行 Set Additions = Range("Target!Additions") 并使用该变量
    猜你喜欢
    • 1970-01-01
    • 2019-03-26
    • 2023-03-12
    • 2020-05-22
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多