您的代码抛出,
运行时错误“1004”:
范围类的 自动填充方法失败
这是由于缺乏定义父表的每个命令的后半部分。
With Worksheets(2)
.Range("LTSDI").AutoFill Destination:=.Range("LTSDI:LTEDI"), Type:=xlFillDefault
End With
With Worksheets(3)
.Range("LTSDI").AutoFill Destination:=.Range("LTSDI:LTEDI"), Type:=xlFillDefault
End With
以上定义了父工作表,其中包含With ... End With statement。每个Range object都以一个句点(又名句号或.
)为前缀,它明确引用With ... End With指出的父级工作表。
如果您选择了更简单的Range.FillDown method,则可以避免With ... End With,因为范围只需要引用一次。
Worksheets(2).Range("LTSDI:LTEDI").FillDown
Worksheets(3).Range("LTSDI:LTEDI").FillDown
最后,下面说明了什么是必要的,如果你选择修复,而不是上面的一个原代码工作。
Worksheets(2).Range("LTSDI").AutoFill Destination:=Worksheets(2).Range("LTSDI:LTEDI"), Type:=xlFillDefault
Worksheets(3).Range("LTSDI").AutoFill Destination:=Worksheets(3).Range("LTSDI:LTEDI"), Type:=xlFillDefault
鉴于指定的范围是特定于工作表和范围,是的。 – findwindow
命名范围可以是特定于该页面的,这意味着该页面上的公式只能调用它,或者特定于工作簿,这意味着可以从工作簿的任何位置调用它。查看哪些转到公式====>名称管理器并查看命名范围的属性。 –
最有可能的是。您可以检查名称的范围并更改为工作簿,或者只是获取这两个范围的字符串地址,并将这些地址放入您的'Range'定义中。 – Ambie