【问题标题】:Multiple worksheets autofill error 1004多个工作表自动填充错误 1004
【发布时间】:2015-10-14 17:13:59
【问题描述】:

我想创建一个在多个工作表中自动填充的按钮。但似乎我一次只能自动填充一张纸......这是代码:

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 但同样的问题仍然存在“错误 1004”。

【问题讨论】:

  • 这只是一个非常琐碎的例子。更具体地说,假设 cell(1,1) 的值为 9,然后自动填充到 Range(Cells(1, 1), Cells(2, 1) 应该使 cell(2,1) 具有与 cell 相同的值(1,1) 即 9。执行第一行时不会出现问题,而是在第二行时出现。
  • 如果你的Activesheet在执行代码时是Sheet2,你的第一行也会导致问题。

标签: vba excel excel-2013 autofill


【解决方案1】:

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

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))。您的原始文件试图定义一个包含另一个工作表上的单元格的范围。

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

【讨论】:

    【解决方案2】:

    当我添加激活时它工作:

    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))
    

    【讨论】:

    • 我试过这个方法。它可能适用于其他excel版本。但是我的(2013)以某种方式显示错误1004。看来 vba 社区真的想避免使用 .Activate。 Jeeped的回答很好的解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多