使用带有ctrl shift的WorksheetFunction在VBA excel中输入

时间:2017-06-02 21:16:49

标签: excel vba excel-vba

我想编写一个VBA代码,根据给定的值查找匹配的单元格,而不考虑文本和数字。

我们可以在Excel中执行此操作:=match("*207*", C:C & "",0) Ctrl + Shift + 输入

但在VBA中,代码pos = WorksheetFunction.Match(lookup_value, lookup_range & "", 0)不起作用 有没有解决方案?

1 个答案:

答案 0 :(得分:2)

lookup_range & ""无法在VBA中使用,因为您无法将String连接到Range对象,也不能连接到Array。请改用Evaluate

pos=Sheet1.Evaluate("match(""*207*"", C:C & """",0)")

要在评估中使用变量,请执行以下操作:

pos = Application.Evaluate("MATCH(""*" & lookup_value & "*""," & _
  lookup_range.Address(External:=True) & "& """",0)")