我有 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)
但是,我失败了:-
错误消息:-
调试:-
有人可以帮我吗?
我建议不要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)