使用WorksheetFunction与CTRL键在VBA excel中input

我想编写一个VBA代码来find匹配的单元格基于给定的值,而不考虑文本和数字。

我们可以在Excel中这样做: =match("*207*", C:C & "",0)并按下Ctrl + Shift + Enter

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

lookup_range & ""不会在VBA中工作,因为你不能连接一个String到一个Range对象或一个Array 。 改用Evaluate

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

要在评估中使用这些variables,请执行以下操作:

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