简体   繁体   English

数组中的通配符查找 - VBA

[英]Wildcard vlookup in arrays - VBA

I have a problem to vlookup values from one array into another.我在将值从一个数组查找到另一个数组时遇到问题。

Arrays are:数组是:

在此处输入图片说明


在此处输入图片说明

My code results in Error 2042:我的代码导致错误 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

在此处输入图片说明

What I need is to find items from arr7, ie arr7(0) = zch20 in Arr and assign corresponding value from arr to arr9.我需要的是从 arr7 中找到项目,即 arr7(0) = zch20 在 Arr 中并将相应的值从 arr 分配给 arr9。 Just first 5 characters need to be vlookuped since they are mutual characters for both arr and arr7 but full name string needs to be inserted to arr9.只需要查找前 5 个字符,因为它们是 arr 和 arr7 的共同字符,但需要将全名字符串插入到 arr9。

Thank you.谢谢你。

VLOOKUP is a worksheet function, for use with ranges of cells (or worksheet tables ) but not for VBA arrays . VLOOKUP是一个工作表函数,用于单元格范围(或工作表表格),但不适用于 VBA 数组

A comparable VBA function that you might have more luck with is Filter .您可能更幸运的一个类似的 VBA 函数是Filter

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


More info:更多信息:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM