【问题标题】:AutoFill method of range class failed, what am I missing?范围类的 AutoFill 方法失败,我错过了什么?
【发布时间】:2019-12-15 09:11:18
【问题描述】:

我正在尝试将一行公式自动填充到它之前的行。

我使用的是 excel 2010。我知道我在自动填充功能中使用的范围是正确的,我通过添加选择功能并逐行检查以确保它选择了正确的范围。

Sub NewIC()

Dim v As Range, newV As Range, oldVRow As Range, newVRow As Range
Dim s As Range
Dim dc As Range

With Sheets("Charts").Cells
    'Inserting name into Vios
    Set v = .Find("Vios", LookIn:=xlValues)
    If Not v Is Nothing Then
        v.Select
        ActiveCell.Offset(4, 0).Select

        With Selection.EntireRow.Insert(xlShiftDown, xlFormatFromRightOrBelow)
            Set newV = ActiveCell
            Range("T1").Copy newV
            newV.Font.Bold = True
        End With
    End If

    'Dragging up formulas
    Set oldVRow = Range(newV.Offset(-1, 1), newV.Offset(-1, 8))
    Set newVRow = Range(newV.Offset(0, 1), newV.Offset(0, 8))
    oldVRow.Select
    newVRow.Select

    newVRow.AutoFill Destination:=oldVRow, Type:=xlFillDefault
End With

End Sub

所有代码都运行到最后一行。它将正确的单元格设置为 newV,设置正确的范围,但我收到错误

Range 类的运行时错误“1004”AutoFill 方法失败

【问题讨论】:

标签: excel vba autofill


【解决方案1】:

修改:

Set newVRow = Range(newV.Offset(0, 1), newV.Offset(0, 8))

包括上面的行:

Set newVRow = Range(newV.Offset(-1, 1), newV.Offset(0, 8))

并改变:

newVRow.AutoFill Destination:=oldVRow, Type:=xlFillDefault

到:

oldVRow.AutoFill Destination:=newVRow, Type:=xlFillDefault

你不需要全部使用Select

'oldVRow.Select  ' comment this row
'newVRow.Select  ' comment this row

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2023-02-02
    • 2015-10-29
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    相关资源
    最近更新 更多