[英]VBA to Vlookup values across multiple rows and columns Excel
我有一个这样的工作表:
Name Num1 Num2 Num3 Num4
test1
test2
test3
test3 7% 6% 6% 6%
test1 4% 5% 4% 5%
test2 6% 6% 5% 4%
我正在尝试创建一个宏按钮,该按钮根据名称列值将值从工作表的下方部分复制到上方的空白部分。
我在想它可能正在使用vlookup
。
以下部分中的值采用公式形式,因此需要将它们特殊粘贴为带有数字格式的值。
结果如下:
Name Num1 Num2 Num3 Num4
test1 4% 5% 4% 5%
test2 6% 6% 5% 4%
test3 7% 6% 6% 6%
test3 7% 6% 6% 6%
test1 4% 5% 4% 5%
test2 6% 6% 5% 4%
这是我迄今为止尝试过的:
Sub COPY()
With Range("B2:B4")
.Formula = "=VLOOKUP(A2,$A$8:$M$10,2,0)"
.Value = .Value
End With
End Sub
上面的代码适用于一列,但我不知道如何在第 3、4、5 列等上循环和执行。
上面代码的结果:
Name Num1 Num2 Num3 Num4
test1 4%
test2 6%
test3 7%
test3 7% 6% 6% 6%
test1 4% 5% 4% 5%
test2 6% 6% 5% 4%
谢谢您的帮助。 如果您有任何问题,请告诉我。
对于源范围 A6:E9(带有列标题)和目标范围 A1:E4(带有列标题)。 您可以调整公式中的 col.column 以匹配源范围中所需的列号
Sub vlkup()
Dim col As Range
For Each col In Range("B2:E4").Columns
With col
.Formula = "=VLOOKUP($A2,$A$6:$E$9," & col.Column & ",False)"
.Value = .Value ' to convert formula to values
End With
Next
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.