Можете ли вы извлечь данные из другой книги Excel с заданным названием?

#excel

#excel

Вопрос:

Например, если я хочу вызвать ячейку B6 , на листе «Страны», в файле «Alpha», я могу использовать следующий код.

 ='[Alpha.xlsx]Countries'!B6
  

Однако, если бы я хотел, чтобы пользователь предоставил мне любое имя файла, скажем, в ячейке A1 в вызываемой книге, могу ли я изменить этот код для вызова любого заданного имени файла? Например, если бы имя файла было «Beta», пользователь ввел бы «Beta» в ячейку A1.

Комментарии:

1. вы пробовали что-нибудь вроде ='[‘ amp; A1 amp; ‘.xls *]Countries’!B6

Ответ №1:

Вы можете использовать КОСВЕННЫЙ метод …

 =INDIRECT("'[Alpha.xlsx]Countries'!B6")
  

… но есть одна загвоздка. Если книга, на которую вы ссылаетесь, не открыта, она выдаст сообщение об ошибке.

У кого-то может быть другой ответ, но это примерно так же хорошо, как и получается (насколько я знаю), без написания VBA, чтобы попытаться преодолеть это.