Я некоторое время изучаю VBA, но есть одна проблема, с которой я столкнулся, что я не мог понять ее до тех пор, пока не узнаю.Как назвать динамический столбец в excel с помощью VBA
Я хочу, чтобы иметь возможность называть столбец с помощью VBA, поэтому я могу использовать его позже как ссылочный столбец (используя функцию INDEX) в других ячейках/столбцах.
Я знаю, как назвать столбец, который исправлен. Но это не то, что я ищу.
Пример моего вопроса:
В этом месяце я именование столбца D
в TotalAmount
. Код VBA может быть:
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!C4"
Я буду обращаться к этому столбцу в других ячейках с помощью функции INDEX.
Однако в следующем месяце я буду добавлять новый столбец (скажем, продажи в прошлом месяце) непосредственно перед колонкой D
. Итак, новый столбец, который я хочу назвать TotalAmount
следующего месяца, будет столбец E
, а не D
.
Я знаю, что имя столбца не должно меняться при добавлении нового столбца, а столбец E
автоматически станет столбцом TotalAmount
. Тем не менее, я не могу полагаться на это, потому что у листа excel доступны разные люди, и каждый делает свои собственные расчеты.
Так что я попытался это так (я уверен, что это глупо, но эй я еще нуб), но он не работает :(
Sub Macro4()
Range("D1").Select
'(I can select the desired cell each month using the search function)
Dim i As Integer
i = ActiveCell.Column
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!Ci"
End sub
Так что я буду очень благодарен, если кто-то может мне помочь или вести меня по этому вопросу.
Это именно то, что я искал! Работал как шарм! Спасибо! : D – Alomical