我有一个代码,可将列添加到命名范围的末尾。为此,我定义了“ 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'
答案 0 :(得分:0)
这样的事情怎么样?
with ws.Range("Monthly")
'Adding 3 rows to monthly Data
Set Rng1 = .Columns(.Columns.Count).Offset(0, -1)
Set Rng2 = .Columns(.Columns.Count).Offset(0, -3)
Range(Rng1, Rng2).Copy
Range(Rng1, Rng2).EntireColumn.Offset(0, 3).Insert
end with
with ws.Range("Quaterly")
'Adding 1 row to Quaterly Data
Set Rng3 = .Columns(.Columns.Count).Offset(0, -1)
Rng3.Copy
Rng3.EntireColumn.Offset(0, 1).Insert
end with