我正在编写一个宏来自动完成一份具有相同列结构的报告(即,每个月的相同列中都有相同的字段)。但是,报告中的记录数每个月都在变化。
在使用宏记录器填充特定列时,它会生成以下代码:
Selection.AutoFill 目标:=Range("Z2:Z1092")
看来此代码只适用于以第 1092 行结尾的报告。有没有办法修改此代码以使其根据报告的长度动态更新?
我在想,如果我定义一个等于报告最后一行的变量,并用它来代替该行代码中的 1092,那么就可以解决问题。我是 VBA 新手,任何帮助我都非常感谢。
答案1
你可以尝试:
lngLastRow= ActiveSheet.UsedRange.Rows.Count
Selection.AutoFill Destination:=Range("Z2:Z" & lnglastrow)
但我建议你避免使用 Selection 对象,因为选择单元格时性能会受到很大影响。相反,只需使用对象Range
指向你的单元格即可