0

我正在尝试使用 VBA 在 Excel 中自动生成月度报告,其中最终的自动填充基于可变数量的行,这些行随着客户数量的变化而每月变化。例如:如果这个月我有 25 个客户,我可以轻松地硬编码我想要创建 25 行的报告。但是在下个月当我有 30 个客户时,我的代码仍然会显示 25,因此会错过 5 个客户。

我正在尝试的一种解决方案是计算行数并将其应用于自动填充公式。试图找到这样的代码:自动填充范围 A1 到 C“工作表 X 中的行数”。

现在我知道这显然行不通,但这是我最好的尝试:

Sub FillReport()
Sheets("Sheet1").Select
Range("D1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(A:A)"
Sheets("Sheet2").Select
Range("A1:C1").Select
Selection.Autofill Destination:=Range("A1:C(Sheets("Sheet1").Range("D1").Select)")

我没想到这项工作,但无论如何都想尝试一下。如您所见,我是 VBA 新手...

如果有人有任何见解会非常有帮助,因为我觉得应该有一种方法可以实现这一点,而我自己却完全错过了。

谢谢。

4

1 回答 1

0

我喜欢使用手动创建的范围值来做到这一点,以使其更清晰。

所以像:

Dim myRngStr as string
myRngStr = "A1:D" & Sheets("Sheet1").Range("A1").end(xldown).row 'I don't know where you will find this actually
Range("A1").Autofill Destination:=Range(myRngStr)
于 2013-08-23T19:41:56.613 回答