Как создать строку в функции Excel INDIRECT для динамической ссылки на ячейки во внешней электронной таблице - PullRequest
1 голос
/ 31 января 2012

Я легко могу использовать внешнюю ссылку в Excel 2010, например:

Ячейка A1: ='BLAH.XLSX'!Fees[[#Totals],[Billable Hours]]

, но, скажем, B1 содержит FOO.XLSX

Теперь я хочуA1 будет

='FOO.XLS'!Fees[[#Totals],[Billable Hours]]

Я попробовал косвенную функцию

=INDIRECT(CONCATENATE("'", B1, "'!Fees[[#Totals],[Billable Hours]]"))

Но это просто дает ошибку #REF, но разрешает (я использовал функцию show steps в excel) до:

=INDIRECT("'FOO.XLSX'!Fees[[#Totals],[Billable Hours]]")

Я пробовал (играл с) несколько вещей, но ничто не дает мне правильную ссылку

, например =INDIRECT(CONCATENATE("='", B1, "'!Fees[[#Totals],[Billable Hours]]")), которая разрешается до

=INDIRECT("='FOO.XLSX'!Fees[[#Totals],[Billable Hours]]")

Также я хочу избегать VBA, чтобы избежать предупреждений / диалогов безопасности и т. Д., Но приму это, если это единственный способ

Я чувствую, что я действительно близок

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

См. НЕПОСРЕДСТВЕННЫЕ и закрытые рабочие книги в блоге Дика

Функция вытягивания *1005* Харлана Гроува и открытие рабочей книги напрямую через VBA для крупномасштабных манипуляций - две наиболее часто используемыеметоды

1 голос
/ 31 января 2012

Как говорит Джесси, вы не можете использовать НЕПОСРЕДСТВЕННОЕ для обращения к закрытым книгам. Нет другого решения формулы, если вы не используете функции надстройки. INDIRECT.EXT работает с закрытыми книгами, но вам нужно скачать MOREFUNC надстройку, чтобы получить эту функцию, google Morefunc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...