多个工作表自动填充错误 1004

Multiple worksheets autofill error 1004

我想创建一个按钮,在多个作品中自动填充sheet。但似乎我一次只能自动填充一个 sheet...这是代码:

Private Sub CommandButton1_Click()
Sheets("Sheet1").Range(Cells(1, 1), Cells(1, 1)).AutoFill Destination:=Sheets("Sheet1").Range(Cells(1, 1), Cells(2, 1))
Sheets("Sheet2").Range(Cells(1, 1), Cells(1, 1)).AutoFill Destination:=Sheets("Sheet2").Range(Cells(1, 1), Cells(2, 1))
End Sub

就这么简单。如果我把它分解成两个不同的按钮,它们就可以正常工作。我试过 Worksheets().Activate,但没有用。 (大多数人无论如何都不建议激活)也尝试编写 Sub 但同样的问题仍然存在 "error 1004".

您 运行 遇到了一个常见的编码错误,其中 Range.Cells property inside the Range object 没有明确定义其父项。

Private Sub CommandButton1_Click()
    With Sheets("Sheet1")
        .Range(.Cells(1, 1), .Cells(1, 1)).AutoFill _
          Destination:=.Range(.Cells(1, 1), .Cells(2, 1))
    End With
    With Sheets("Sheet2")
        .Range(.Cells(1, 1), .Cells(1, 1)).AutoFill _
            Destination:=.Range(.Cells(1, 1), .Cells(2, 1))
    End With
End Sub

注意 .Range(.Cells(1, 1), .Cells(1, 1)) 而不是 .Range(Cells(1, 1), Cells(1, 1))。您的原始文件试图定义一个 运行ge 包含另一个工作表上的单元格。

With ... End With statement 可以使父工作表的分配更容易,并且不会混淆您要完成的任务。

当我添加 Activate 时有效:

Sheets("Sheet1").Activate  'added
Sheets("Sheet1").Range(Cells(1, 1), Cells(1, 1)).AutoFill _
        Destination:=Sheets("Sheet1").Range(Cells(1, 1), Cells(2, 1))

Sheets("Sheet2").Activate  'added
Sheets("Sheet2").Range(Cells(1, 1), Cells(1, 1)).AutoFill _
    Destination:=Sheets("Sheet2").Range(Cells(1, 1), Cells(2, 1))