自动填充目标 VBA

Bob*_*Bob 2 excel vba

我有 2 个工作表,数据和转换。

在此处输入图片说明

尝试使用此宏根据“数据”最后一行(可以长于 100 行)在“转换”中进行自动填充:-

Public Sub Call_Generate_Data()


    Sheets("Convert").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(Data!RC[4],Links!R1C1:R14C2,2,FALSE)"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=IF(Data!RC[12]="""",""1/1/2014"",Data!RC[12])"
    Range("B3").Select
    Selection.AutoFill Destination:=Range("A2:B" & Sheets("Data").Range("D" & Rows.Count).End(xlUp).Row)
    Sheets("Data").Select
    Range("B3").Select

End Sub
Run Code Online (Sandbox Code Playgroud)

但是,我失败了:-

在此处输入图片说明

错误消息:-

在此处输入图片说明

调试:-

在此处输入图片说明

有人可以帮我吗?

CLR*_*CLR 5

我建议不要Selection以这种方式使用,但是如果您录制了宏,那么您将在录制中获取它们。

你可以改变这部分:

Range("B3").Select
Selection.AutoFill Destination:=Range("A2:B" & Sheets("Data").Range("T" & Rows.Count).End(xlUp).Row)
Run Code Online (Sandbox Code Playgroud)

到:

Range("A2:B2").Select  '<-- only part being changed
Selection.AutoFill Destination:=Range("A2:B" & Sheets("Data").Range("T" & Rows.Count).End(xlUp).Row)
Run Code Online (Sandbox Code Playgroud)

或者,如果没有,Selection您只需要将这两行替换为:

Range("A2:B2").AutoFill Destination:=Range("A2:B" & Sheets("Data").Range("T" & Rows.Count).End(xlUp).Row)
Run Code Online (Sandbox Code Playgroud)