Где разместить справочный контент для xlam-файла
Так что у меня есть надстройка Excel, которая, помимо прочего, содержит огромный список псевдонимов. Например, названия стран с их кодами ISO, страны с их континентами и т. Д. И т. Д. (Чтобы я мог легко узнать, что Канада находится в Америке или что национальный язык Кот-д'Ивуара - французский и т. Д.). В настоящее время у меня есть xlam со всеми соответствующими функциями, которые проверяют именованные диапазоны в другой книге.
Итак, подытожив, у меня есть 2 файла:
- macros.xls (имеет все именованные диапазоны с такими вещами, как Angola = AGO и т. д.), и
my_functions.xlam (имеет функции, которые я могу вызвать из Excel, чтобы получить имя псевдонима). Пример функции:
Функция nti(v) nti = WorksheetFunction.VLookup(Trim(v), Range("macros.xls! Nti"), 2, 0) End Function
Где nti - это функция, которую я использую, а macros.xls! Nti - именованный диапазон, на который я ссылаюсь.
Все это прекрасно работает, но это означает, что для этой функции требуются два файла, поскольку файл.xlam нельзя открывать и редактировать в Excel, только в обозревателе VBA.
Вопрос: Как я могу иметь легко модифицируемые списки и функции, ссылающиеся на эти списки в одном файле? Функции должны быть доступны для других файлов, над которыми я работаю.
Дисквалифицированные решения:
- Сохраните my_functions.xlam как.xls временно, скопируйте все именованные диапазоны и сохраните его как.xlam. Это будет раздражать каждый раз, когда я хочу внести изменения в именованные диапазоны (что довольно часто).
- Жестко закодируйте набор из двух массивов столбцов со всеми псевдонимами в каждой функции (иногда тысячи строк). ПОЖАЛУЙСТА, скажи мне, что есть более сексуальный способ...
Заранее спасибо!
1 ответ
Обычно я просто переключаю свойство IsAddin в XLAM с true на false, редактирую рабочий лист и затем снова переключаю свойство обратно перед сохранением.