Я пытаюсь понять, что, по моему мнению, было бы довольно простым заявлением vba, чтобы проверить, имеет ли именованный диапазон область охвата рабочей книги или определенного листа.Прогеммически определить, обладали ли именованные диапазоны в рабочей книге
В качестве теста я создал новый документ Excel и добавлен в 6 названных диапазонов. Вот как они заложили, в Имя менеджера:
Name | Refers To | Scope
-------------+----------------------+-----------
rng_Local01 | =Sheet1!$A$2:$A$16 | Sheet1
rng_Local02 | =Sheet1!$C$2:$C$16 | Sheet1
rng_Local03 | =Sheet1!$E$2:$E$16 | Sheet1
rng_Global01 | =Sheet1!$B$2:$B$16 | Workbook
rng_Global02 | =Sheet1!$D$2:$D$16 | Workbook
rng_Global03 | =Sheet1!$F$2:$F$16 | Workbook
Я бы ожидать, что работает:
For i = 1 To ThisWorkbook.Names.Count
If ThisWorkbook.Names(i).WorkbookParameter Then Debug.Print ThisWorkbook.Names(i).Name
Next i
приведет к трем Workbook
контекстными именованных диапазонов для быть авторизованы, однако ничего не происходит. Ошибок нет. .Names(i).WorkbookParameter
оценивает по False
по адресу ВСЕ названных диапазонов, и я не уверен, почему.
Просматривая Name
объекта в помощи VBA я наткнулся на ValidWorkbookParameter
, который выглядит как ReadOnly кузена WorkbookParameter
, однако с помощью этого метода не имеет никакого значения.
Я также попытался явно устанавливая ThisWorkbook.Names(i).WorkbookParameter = True
, однако это приводит к ошибке:
"Invalid procedure call or argument"
Несмотря на то, что WorkbookParameter
перечислен как Чтение/запись
Может кто-нибудь пролить любой свет на то, почему это не работает, как я тоже этого ожидаю? Я не понял, как должен работать Name.WorkbookParameter
? Кто-нибудь может заставить это работать успешно?
Спасибо за самые полезные решения ребята ... Мне все еще интересно узнать о свойствах свойств «WorkbookParameter» и «ValidWorkbookParameter» объекта «Name» в VBA. На мой взгляд, эти свойства не работают *, как рекламируется *. –
Не уверен, что именно WorkbookParameter, но подозревает его для служб Excel в Sharepoint, а не для клиента Excel –