使用VBA Vlookup在两张图纸之间工作并填充整个列
我需要对该使用VBA Vlookup在两张图纸之间工作并填充整个列,vba,excel,vlookup,Vba,Excel,Vlookup,我需要对该VLOOKUP宏进行编码,以便从中读取: 列(A:B),然后将这些值应用于 使用列“A”作为唯一标识符的“TV”表的列“L” =VLOOKUP(A2,Reach!A:B,2,FALSE)将是我将输入“TV”工作表的“L”列中的Excel代码 With ThisWorkbook.Sheets("TV") .Range("L2").Formula = "=VLOOKUP(A2,Reach!A:B,2,FALSE)" End With 这是我尝试过的代码,但它只填充L2单元格 我怎
VLOOKUP
宏进行编码,以便从中读取:
列(A:B)
,然后将这些值应用于
使用列“A”
作为唯一标识符的“TV”
表的列“L”
=VLOOKUP(A2,Reach!A:B,2,FALSE)
将是我将输入“TV”
工作表的“L”列中的Excel代码
With ThisWorkbook.Sheets("TV")
.Range("L2").Formula = "=VLOOKUP(A2,Reach!A:B,2,FALSE)"
End With
这是我尝试过的代码,但它只填充L2单元格
我怎样才能使这一点适用于整个专栏?在这个问题的原始版本中,您显示了以下代码:
Dim lr As Long
With ThisWorkbook.Worksheets("TV")
lr = .Cells(.Rows.Count, "M").End(xlUp).Row
Range("L2:L") = "=VLOOKUP(A2,Reach!A:B,2,FALSE),0"
End With
如果通过将无效范围更改为“L2:L”
(并将范围
更改为。范围
,使其等效于此工作簿。工作表(“TV”)。范围
),则代码应能工作:
Dim lr As Long
With ThisWorkbook.Worksheets("TV")
lr = .Cells(.Rows.Count, "M").End(xlUp).Row
.Range("L2:L" & lr) = "=VLOOKUP(A2,Reach!A:B,2,FALSE)"
End With
(好的,只要M列是检查最后一行时要使用的正确列,它就可以工作。就我个人而言,我会使用A列进行检查,因为您使用的公式似乎意味着,对于要在L列中包含此公式的每一行,A列中都有一个值。)
注意:我刚刚注意到您在原始公式的末尾有一个零散的,0
,这也会引起问题。我也把它移走了。你很接近
这会将L填充到A中的最后一行数据,我选择A是因为您正在查找:
.Range("L2:L" & .Range("A" & .Rows.count).end(xlup).row).Formula = "=VLOOKUP(A2,Reach!A:B,2,FALSE)"
“L2:L”
在Excel中不是有效的范围。你是说“L2:L”和“lr”吗?(请注意,“它不起作用”的问题描述可能会吸引反对票。)@0m3r我已经成功地填充了L2单元格,如何让它填充“L”列的其余部分?我必须使用for循环吗?@Anon-请看我的第一条评论-您的原始代码非常接近,我没有费心将其作为答案发布,它看起来更像是一个循环typo@YowE3K是的,我尝试添加lr,但它给了我一个不匹配的错误。我仍然在.Range(“L2:L”&lr)=“=VLOOKUP(A2,Reach!a:B,2,FALSE),0”行上得到一个1004错误。我还尝试使用A列进行检查。@Anon Yes-我刚刚注意到,流浪的,0
-去掉它,因为它会使公式无效。这很有效!非常感谢您抽出时间!我真的很感激