【问题标题】:Autofill won't start at desired cell and won't fill down自动填充不会从所需的单元格开始,也不会填充
【发布时间】:2018-05-31 14:21:40
【问题描述】:

我正在尝试将此公式从 AD2 自动填充到数据集的末尾。但是,相反,我的宏将使用 AD1 上的公式(列标题)而不是填写。我已经这样做了好几次了,但我不知道为什么它现在起作用了。令人讨厌的公式是从单元格中读取几列(AB),然后声明三个字符串之一。

Dim lastRow As Long
lastRow = Cells(Rows.Count).End(xlUp).Row

Range("AD2").Select
Selection.FormulaR1C1 = _
    "=IF(NOT(ISERROR(FIND(""iMac"",RC[-2]))),""iMac"",IF(NOT(ISERROR(FIND(""MacBook"",R[-21]C[-2]))),""MacBook"",""N/A""))"
Range("AD2").Select
Selection.AutoFill Destination:=Range("AD2:AD" & lastRow)

【问题讨论】:

  • lastRow = Cells(Rows.Count,"A").End(xlUp).Row你需要统计特定的列

标签: vba excel


【解决方案1】:

尝试使用ActiveSheet.Cells(ActiveSheet.Rows.Count, "AB").End(xlUp).Row修改你的var lastRow

Sub test()


Dim lastRow As Long
lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "AB").End(xlUp).Row

Range("AD2").Select
Selection.FormulaR1C1 = _
    "=IF(NOT(ISERROR(FIND(""iMac"",RC[-2]))),""iMac"",IF(NOT(ISERROR(FIND(""MacBook"",R[-21]C[-2]))),""MacBook"",""N/A""))"
Range("AD2").Select
Selection.AutoFill Destination:=Range("AD2:AD" & lastRow)

End Sub

【讨论】:

    【解决方案2】:

    试试这个。您的单元格中缺少一列(我使用了 A 列,因此需要更改以适应),您无需选择任何内容。事实上,您可能根本不需要自动填充,只需一次性应用到整个范围即可。

    Sub y()
    
    Dim lastRow As Long
    
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    With Range("AD2")
        .FormulaR1C1 = _
            "=IF(NOT(ISERROR(FIND(""iMac"",RC[-2]))),""iMac"",IF(NOT(ISERROR(FIND(""MacBook"",R[-21]C[-2]))),""MacBook"",""N/A""))"
        .AutoFill Destination:=Range("AD2:AD" & lastRow)
    End With
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2013-09-26
      • 1970-01-01
      • 2019-08-10
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      相关资源
      最近更新 更多