我正在尝试在VBA中创建自动填充功能,但无法使其正常工作。我收到错误消息:Range类错误中的自动填充方法。有人可以向我解释为什么我不能使它工作,或者更好的是VBA代码使它工作。在此先感谢,请参阅下面的代码:(代码只是更大代码的一部分,我很确定SourceRange或FillRange没有错,我在行上得到错误:SourceRange.AutoFill Destination:=FillRange
)
Set SourceRange = Worksheets("Sheet2").Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, 0))
Set FillRange = Worksheets("Sheet2").Range(Selection, ActiveCell.Offset((Lenght1.Count), 0))
SourceRange.AutoFill Destination:=FillRange
答案 0 :(得分:1)
建议,最好避免ActiveCell
和Selection
;请尝试使用Range("B1")
(例如)或Cells(1,"B")
。
Set SourceRange = Worksheets("Sheet2").Range(ActiveCell.Offset(-1, 0).Address & "," & ActiveCell.Offset(-1, 0).Address)
Set FillRange = Worksheets("Sheet2").Range(Selection.Address & "," & ActiveCell.Offset((Lenght1.Count), 0).Address)
SourceRange.AutoFill Destination:=FillRange
修改1 :
Set SourceRange1 = Worksheets("Blad1").Range("A1:A2")
' you need to set the Range from A1
Set FillRange1 = Worksheets("Blad1").Range("A1:A10")
SourceRange1.AutoFill Destination:=FillRange1