数组中的通配符 vlookup - VBA

Wildcard vlookup in arrays - VBA

我在将值从一个数组查找到另一个数组时遇到问题。

数组是:


我的代码导致错误 2042:

Dim arr9 As Variant
ReDim arr9(LBound(arr7) + UBound(arr7))
i = 0
For i = LBound(arr7) To UBound(arr7) Step 1
arr9(i) = Application.VLookup(Left(arr7(i), 5) & "*", Arr, 1, 0)
Next i

我需要的是从arr7中找到项目,即arr中的arr7(0) = zch20,并将arr中的相应值分配给arr9。只需要对前 5 个字符进行 vlookuped,因为它们是 arr 和 arr7 的共同字符,但需要将全名字符串插入到 arr9。

谢谢。

VLOOKUP is a worksheet function, for use with ranges of cells (or worksheet tables) but not for VBA arrays.

一个可比较的 VBA 函数,您可能更幸运地使用 Filter

Filter(sourcearray, match, [ include, [ compare ]])


更多信息: