跨多个Excel行和列的VBA到Vlookup值
我有这样一份工作表:跨多个Excel行和列的VBA到Vlookup值,excel,vba,vlookup,Excel,Vba,Vlookup,我有这样一份工作表: 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
test2
test3
test3 7% 6% 6% 6%
test1 4% 5% 4% 5%
test2 6% 6% 5% 4%
我试图创建一个宏按钮,根据名称列值将工作表下面部分的值复制到上面的空部分
我想可能是用了一个vlookup
以下部分中的值为公式形式,因此需要将其粘贴为带有数字格式的特殊值
结果如下:
这就是我迄今为止所尝试的:
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以匹配源范围中所需的col编号
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
也许
=VLOOKUP(A2,$A$8:$M$10,column(),0)
可以让它变得动态?谢谢。但是范围是否也不需要更改?这是哪个范围?对于范围(“B2:B4”)
@user3819867的公式在我看来,您可能需要调整布局的范围。
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