继续请VBA数组大神指教,马上要交给老板的

将图2里面的A列去图1的A列里面找,找到了就在图1的P列显示图2中对应的B列结果?麻烦使用数组运行
我知道可以用函数vlookup实现,但是我前面L-O的都已经使用数组做了,老板要求的所有都要使用VBA

一般有两种写法,一是使用循环,二是使用字典,下面给一个字典的例子:

'生成字典
arr = Sheets("key product").UsedRange
set protype = CreateObject("Scripting.Dictionary")
for i=2 to ubound(arr)
    protype(arr(i,1)) = arr(i,2)
next i

'使用字典
x = Sheets("sheet1").Cells(Rows.Count,1).End(xlUp).Row 'sheet1的行数
arr1 = Sheets("sheet1").Range("a7").ReSize(x-6,1) 'A列
arr2 = Sheets("sheet1").Range("p7").ReSize(x-6,1) 'P列
for i=1 to ubound(arr1)
    arr2(i,1) = protype(arr1(i,1))
next i
Sheets("sheet1").Range("p7").ReSize(x-6,1) = arr2 'P列追问

这种要嵌入我的已有数组中可能有难度,我已经将J列到Q列的8列事先做其他几个判断的时候就列为数组了

追答

没有难度,如果你的数组有A、P两列,那就直接使用你的数组里面的A、P列进行运算,如果你的数组里面有P列,那就把我的代码的arr2改为你的数组,注意1改为P列对应的数组列

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-30
用公式就能搞定的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网