如果ROW计数超过1,应用自动填充的最佳方法是什么? 我使用下面的行,它正在工作。但是,如果某个实例中“I”列中只有1个ROW,则会出现错误。
Sheets(1).Range("J2").AutoFill Destination:=Range("J2:J" & Cells(Rows.Count, "I").End(xlUp).Row)
答案 0 :(得分:0)
您需要明确引用所有Range.Parent和Range object的Range.Cells properties工作表属性。您不能依赖ActiveSheet property的隐式引用。
with Sheets(1)
.Range("J2").AutoFill Destination:=.Range("J2:J" & .Cells(Rows.Count, "I").End(xlUp).Row)
end with
您可能会发现Range.FillDown method更容易编码。
with Sheets(1)
.Range("J2:J" & .Cells(Rows.Count, "I").End(xlUp).Row).FillDown
end with
With ... End With statement将父工作表引用传递给具有前缀句点(又名句号或.Range
)的所有.Cells
和.
答案 1 :(得分:0)
我使用了复制和粘贴方法来执行自动填充功能。 您可以根据您的要求使用特殊粘贴作为值或公式。这是进行自动填充的另一种方式
Sub test11()
Dim L As Long
L = Sheets(1).Range("J1:J" & Sheets(1).Cells(Sheets(1).Rows.Count, "J").End(xlUp).Row).Count
With Sheets("Sheet1")
.Range("J1").Copy
' Change Range as per your requirement and paste function as per your requirement
.Range("J2:J" & L).PasteSpecial xlValues
End With
End Sub