【发布时间】:2019-07-05 12:05:39
【问题描述】:
我有一个将列添加到命名范围末尾的代码。为此,我定义了“LastM”和“LastQ”,它们对命名范围内的列进行计数,然后复制这些列(参见下面的代码)。
但是,一旦插入列,命名范围就会扩大,但“LastM”的值是固定的,我不能再将它用于进一步的操作。
有没有办法使“LastM”变量,即在将列添加到命名范围后再次计算列?
我想我可以定义一个新的“LastM2”并再次计数列,但我觉得这不是一个非常有效的解决方案。
感谢您的帮助!
'Adding 3 rows to monthly Data
LastM = ws.Range("Monthly").Columns.Count
Set Rng1 = Range("Monthly").Columns(LastM).Offset(0, -1)
Set Rng2 = Range("Monthly").Columns(LastM).Offset(0, -3)
Range(Rng1, Rng2).Copy
Range(Rng1, Rng2).EntireColumn.Offset(0, 3).Insert
'Adding 1 row to Quaterly Data
LastQ = ws.Range("Quaterly").Columns.Count
Set Rng3 = Range("Quaterly").Columns(LastQ).Offset(0, -1)
Rng3.Copy
Rng3.EntireColumn.Offset(0, 1).Insert
'LAstQ and LastM are fixed but the Named range expanded'
【问题讨论】:
-
我不需要保留旧计数,只需覆盖您在 LastM 中的内容。
标签: excel vba reference named-ranges