1

我正在尝试使用 R1C1 引用在 Excel VBA 中使用动态范围自动填充公式。

而不是使用这样的东西:

Sheets("my_sheet").Range("A2").AutoFill Destination:=Range("A2:A:"&row_count), Type:=xlFillDefault

我写了以下内容:

Sheets("my_sheet").Cells(2, 17).AutoFill Destination:=Sheets("my_sheet").Range(Cells(3, 17), Cells(row_count, 17)), Type:=xlFillDefault

这似乎不起作用并返回以下内容:

Run-time error '1004':
AutoFill method of Range class failed.

有什么建议么?

4

1 回答 1

2

来自MSDN 文档“目标必须包括源范围。” 您的第二个等式的问题实际上是目标地址从行下方开始,而不是自动填充引用。您引用了第 2 行,但目的地从第 3 行开始。将 3 更改为 2,它将起作用。


你的第二个方程很好,但它不等于第一个。

如果您的第一个方程式有效,您可以直接将其替换为:

Sheets("my_sheet").Cells(2, 1).AutoFill Destination:=Sheets("my_sheet").Range(Cells(2, 1), Cells(row_count, 1)), Type:=xlFillDefault

顺便说一句 - 你的第一个方程在 A2:A 之后有一个额外的 ':':

它应该是这样的:

Sheets("my_sheet").Range("A2").AutoFill Destination:=Range("A2:A" & row_count), Type:=xlFillDefault
于 2013-11-02T17:20:19.830 回答