Я пытаюсь извлечь данные из стандартизованной формы excel, где все значения, которые я хочу, называются Ranges. NamedRanges - спецификация рабочего листа, например. c_001 ссылается на Sheet1! $ X $ 38.Получить NamedRange из неизвестного рабочего листа в другой книге
Я попытался найти все имена в книге, например.
'Runtime error 13 - Type mismatch
Set namesInWb = Workbooks(wbName).Names
Это, похоже, не работает, возможно, поскольку все имена являются конкретными рабочими листами?
Я тогда подумал, что могу получить namne через объект Range, например. Я хочу, чтобы иметь возможность использовать что-то вроде этого, чтобы получить wsName:
tempRange.Worksheet.Name
Мне нужно, чтобы получить Range объекта первой, хотя, но я ничего не могу думать о работах, не зная имя листа.
'Not working - Runtime error 438 - Object does not support this property or method
Set tempRange = Workbooks(wbName).Range("c_001")
'This works now, only failed due to another error earlier in the code that I had missed
Set tempRange = Range(currentName)
ОБНОВЛЕНИЕ: Последний метод работает сейчас. Только не удалось из-за ошибок ранее в коде, который я пропустил.
Вы пробовали циклически все листы, чтобы найти конкретный именованный диапазон? – RGA
Каковы ошибки из вышеизложенного/ –
[Коллекция имен] (https://msdn.microsoft.com/en-us/library/office/ff841251.aspx) возвращает все имена в активной книге. Можете ли вы объяснить, как это не работает? Вы получили сообщение об ошибке? Извините @Nathan_Sav; Я попытался выставить свой комментарий, но я тогда случайно его отложил. SO не позволит мне снова повыситься. –