изменение ссылки на именованный диапазон после вставки столбцов - PullRequest
0 голосов
/ 05 июля 2019

У меня есть код, который добавляет столбцы в конец именованных диапазонов. Для этого я определил «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'    

1 Ответ

0 голосов
/ 05 июля 2019

Как насчет этого?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...