应用自动填充超过1行其他不适用

如果ROW计数大于1,那么应用自动填充的最新方法是什么? 我使用下面的行,它的工作。 但是,如果在“I”列中只有一个计数行的实例将会出现错误。

Sheets(1).Range("J2").AutoFill Destination:=Range("J2:J" & Cells(Rows.Count, "I").End(xlUp).Row) 

您需要显式引用所有Range对象和Range.Cells属性的Range.Parent工作表属性 。 您不能依赖对ActiveSheet属性的隐式引用。

 with Sheets(1) .Range("J2").AutoFill Destination:=.Range("J2:J" & .Cells(Rows.Count, "I").End(xlUp).Row) end with 

你可能会发现Range.FillDown方法更容易编码。

 with Sheets(1) .Range("J2:J" & .Cells(Rows.Count, "I").End(xlUp).Row).FillDown end with 

With … End With语句将父工作表引用传递给具有前缀句点(又名句号. )的所有.Range.Cells

我已经使用复制和粘贴方法来做自动填充function。 您可以根据您的需求使用特殊粘贴值或公式。 这是做自动填充的另一种方法

 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