应用公式,然后自动填充数据直到列中的最后一个可见单元格:VBA

我使用此代码应用长度公式,然后Autofill直到最后一个可见单元格,但出现错误

运行时错误'1004'-方法'object_Global'的范围失败

 Range("C2").Select ActiveCell.FormulaR1C1 = "=LEN(RC[-1])" Selection.AutoFill Destination:=Range("C2:C" & Lastrow).SpecialCells(xlCellTypeVisible).Select Selection.Copy 

从你的代码中,你似乎想要COl B中单元格的长度。下面的代码适用于我。

 Sub x() Range("C2:C" & Range("B" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=LEN(RC[-1])" End Sub 

与往常一样,最好远离SelectActiveCellSelection

试试下面的代码:

 Dim FitRng As Range, Lastrow As Long Range("C2").FormulaR1C1 = "=LEN(RC[-1])" Set FitRng = Range("C2:C" & Lastrow).SpecialCells(xlCellTypeVisible) FitRng.FillDown 

如果你不想使用FillDown方法,你可以简单地使用:

 FitRng.FormulaR1C1 = "=LEN(RC[-1])"