Можно ли заставить Excel разрешать все имена диапазонов с помощью VBA при импорте листа?В некоторых случаях имена не разрешаются до тех пор, пока не будут выбраны отдельные ячейки, выделенные в строке формул и отмененные.Похоже, что если лист содержит любое имя, которое не существует в диспетчере имен, все последующие имена игнорируются.
Мое приложение выполняет код VBA в книге «Менеджер», оттуда я открываю вторую книгу «Шаблон» для генерации отчета о тестировании.Страницы отчета (рабочие листы) могут быть добавлены к шаблону с помощью элемента управления ленты.Эти добавленные рабочие листы имеют различные ячейки с именами для автоматического заполнения отчета по данным, уже находящимся в шаблонной книге.Так, например, при импорте рабочего листа («Результаты») представление показывает:
Address Formula Value Display
F18 =WeightAir 335 335
F19 =WeightWater Name missing in this workbook
B39 =Length 1.1 #NAME?
C47 =Author N H #NAME?
Если я выберу ячейку C47, щелкните в строке формул и снова вернитесь, чтобы значение ячейки отображалось правильно.Ячейка B39 остается ошибочной.Есть другие ячейки в том же листе, которые не заполняются, это просто для примера.Я пытался использовать VBA, чтобы выбрать диапазон ячеек (включая все, которые показывают #NAME? Error), чтобы форсировать вычисления, но это, кажется, не имеет никакого эффекта
DestWB.Worksheets(ShtCount).Range("A1", "Z65536").Select
DestWB.Worksheets(ShtCount).Calculate
DestWB.Worksheets(ShtCount).Range("A1").Select
Я выбрал предложение использовать это, которое яприменить перед закрытием «исходной книги»
DestWB.Worksheets(ShtCount).UsedRange.Formula = _
OrigWB.Worksheets(1).UsedRange.Formula
Но если лист содержит любое имя, которого нет в менеджере имен, для этой книги все последующие имена (т. е. ячейки с более высоким столбцом, адресом строки)игнорируютсяЕсть ли способ принудительно разрешить все известные имена, оставляя только пропущенные значения?Любые предложения, пожалуйста?