Я работаю с большим файлом Excel, где я определил около 2000 имен для ячеек. Кроме того, excel содержит формулы, эти формулы уже введены со ссылками на ячейки (A23-B24
). Я хочу изменить ссылки на ячейки по определенным именам (вместо A23-B24
с VARIABLE_100-VARIABLE_120
).Как выбрать все имена в Excel с помощью VBA
Я знаю, что это возможно, выбрав «Применить имена», а затем выберите определенные имена из списка. Поскольку у меня есть около 2000 определенных имен, я хотел бы сразу выбрать все имена из меню, но я не могу найти вариант, поэтому я должен выбирать один за другим. Я смотрел, была ли опция включения множественного выбора в меню, но я не нашел такой опции. Работа для меня будет заключаться в создании макроса, который применяется к выбранному диапазону формул для выбранных имен. Что-то вроде этого:
Sub Macro1()
' Macro1 Macro
Selection.ApplyNames Names:=Array ("ATL_BV_XP", "ATL_BV_XP..EUN", "ATL_PK_XP", _
"ATL_PK_XP..EUN", "CHN_PK_IM", "CHN_PK_IM..EUN", "CHN_PK_IM..SHREUN", _
"E15_AG_AH", "E15_AG_EPA", "E15_AG_SFP", "E15_AG_SFP..CF" _
, "E15_APF_FE"), IgnoreRelativeAbsolute:=True, UseRowColumnNames:=True, _
OmitColumn:=True, OmitRow:=True, Order:=1, AppendLast:=False
End Sub
Моя проблема заключается в том, что, поскольку у меня есть большое количество определенных имен (уже писал, как в два раза, что около 2000), в котором перечислены все имена в макро-код становится очень сложным. Я думал, что, вероятно, обходным решением будет создание списка, включающего все определенные имена в коде. У кого-то есть идея, как это сделать? Я оглядываюсь, и некоторые коды предлагают цикл, а другие говорят, что можно извлечь список. Тем не менее я не смог найти способ сделать это.
Вы искали «имена» объектной модели vba: https://msdn.microsoft.com/en-us/library/ff196278%28v=office.14%29.aspx –
Спасибо за подсказку Christine Ross , Я не эксперт vba, в настоящее время я проверяю следующий веб-сайт https://msdn.microsoft.com/en-us/library/office/ff841280.aspx Возможно, используя последний пример, я смог бы: сначала создать список всех имен, затем примените этот список к выбранному диапазону формул, чтобы заменить ссылки на ячейки соответствующими именами. – user3279722
Итак, можете ли вы более четко определить свою проблему? При чтении вопроса кажется, что вы хотите вставлять имена в формулы с помощью выпадающего списка и т. Д.Но при чтении комментариев кажется, что у вас уже есть имена в формулах, и вы хотите изменить их на фактические ссылки (например, в формуле у вас есть имя 'name1', и вы хотите заменить это на' Sheet1! A1')? – ZygD