编写 VBA 代码来填充长度可变的范围的末尾

编写 VBA 代码来填充长度可变的范围的末尾

我正在编写一个宏来自动完成一份具有相同列结构的报告(即,每个月的相同列中都有相同的字段)。但是,报告中的记录数每个月都在变化。

在使用宏记录器填充特定列时,它会生成以下代码:

Selection.AutoFill 目标:=Range("Z2:Z1092")

看来此代码只适用于以第 1092 行结尾的报告。有没有办法修改此代码以使其根据报告的长度动态更新?

我在想,如果我定义一个等于报告最后一行的变量,并用它来代替该行代码中的 1092,那么就可以解决问题。我是 VBA 新手,任何帮助我都非常感谢。

答案1

你可以尝试:

lngLastRow= ActiveSheet.UsedRange.Rows.Count

Selection.AutoFill Destination:=Range("Z2:Z" & lnglastrow)

但我建议你避免使用 Selection 对象,因为选择单元格时性能会受到很大影响。相反,只需使用对象Range指向你的单元格即可

相关内容