转换索引与匹配和偏移功能以与用户表单一起使用

时间:2019-08-20 16:37:45

标签: excel vba indexing match

我在这里有一个有效的VBA代码:

Evaluate("INDEX(A$6:A$72,MATCH(J5,B$6:B$72,0))") = Change_Pool.Value

它要做的是获取一个索引,并将其与用户窗体链接的单元格(J5)相匹配。


我要执行的操作是: 1.使VBA代码使用用户窗体(Edit_pool.Change_Pool)上的组合框而不是链接的单元格。即:

Evaluate("INDEX(A$6:A$72,MATCH(  *Edit_pool.Change_Pool.value*  ,B$6:B$72,0))")
  1. 然后我希望它将结果向下偏移一个单元格。 所以看起来像

    Offset(“ INDEX(A $ 6:A $ 72,MATCH( Edit_pool.Change_Pool.value ,B $ 6:B $ 72,0))”)1

或某些^^

2 个答案:

答案 0 :(得分:1)

您可以这样做:

Evaluate("INDEX(A$6:A$72,MATCH(" & Edit_pool.Change_Pool.value & ",B$6:B$72,0))")

请注意,如果您的值不是数字,则需要在其周围加上引号:

Evaluate("INDEX(A$6:A$72,MATCH(""" & Edit_pool.Change_Pool.value & """,B$6:B$72,0))")

答案 1 :(得分:0)

要匹配文本值,请尝试...

Evaluate("OFFSET(INDEX(A$6:A$72,MATCH(""" & Edit_pool.Change_Pool.value & """,B$6:B$72,0)),1,0)") = Change_Pool.Value

要匹配数值,请尝试...

Evaluate("OFFSET(INDEX(A$6:A$72,MATCH(" & Edit_pool.Change_Pool.value & ",B$6:B$72,0)),1,0)") = Change_Pool.Value