Excel VBA:如何创build具有独特范围和多个工作表的VLOOKUP?

我仍然是新的vba,目前正试图编写一个代码,在其中它执行从我的源表和输出表,并把它放在我的输出表中的查找。 我需要为整个列A(每月行数不同)执行vlookup并将其放在列G中。每当我尝试运行它时,它都会显示“错误438:对象不支持此属性或方法“。 我发现这个代码在线上,并试图改变它匹配我的数据。 我猜我的sourceSheet没有分配给表,即使我指定它? 谁能帮助:

这是我的代码:

Sub Vlookup() Dim SourceLastRow As Long Dim OutputLastRow As Long Dim sourceSheet As Worksheet Dim outputSheet As Worksheet Set sourceSheet = Worksheets("Data1") Set outputSheet = Worksheets("Info2") With sourceSheet SourceLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With With outputSheet OutputLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 'This is the line where I keep getting the error: .Range("G2:G" & OutputLastRow).Formula = _ "=VLOOKUP(A2,'" & sourceSheet & "'!$A$2:$B$" & SourceLastRow & ",2,0)" End With End Sub 

你指的是工作表本身,而不是名字。 尝试:

 .Range("G2:G" & OutputLastRow).Formula = _ "=VLOOKUP(A2,'" & sourceSheet.Name & "'!$A$2:$B$" & SourceLastRow & ",2,0)"