使用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)")