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

时间:2017-01-03 05:43:57

标签: excel vba excel-vba

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

  

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

代码

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

2 个答案:

答案 0 :(得分:1)

与往常一样,最好远离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])"

答案 1 :(得分:1)

从您的代码

看起来您想要COl B中的单元格长度。以下代码适用于我。

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