Приветствую. Необходимо, чтобы в ячейку B3 (а так же во все остальные) подставлялся путь, который будет выводиться в ячейку A1. Что-то типа: =(A1)\[01.xlsm]Тек.... Видел варианты с VBA, но (если я правильно понял), везде надо выполнять команду. Имеется необходимость сделать это без каких-то дополнительных действий. Функция "ЯЧЕЙКА" выводит путь с текущим именем листа. Просматривал все варианты, только VBA. Если есть возможность реализовать это через вба без дополнительных кликов, то так же прошу помочь с решением. Спасибо!
Спасибо за решение. =ЛЕВСИМВ(ЯЧЕЙКА("filename"); НАЙТИ("[";ЯЧЕЙКА("filename"))-1) - то, что необходимо. Однако проблема осталась нерешенная. Сейчас пытаюсь реализовать: см. скриншот.
Как показано в файле от Андрей VG =ДВССЫЛ("'"&B5&"[01.xlsm]Текущий день'!C23") будьте внимательны - не пропустите апострофы перед путем и перед восклицательным знаком.
Можно еще так если хотите ссылаться на реальную ячейку в данном файле, чтобы динамически менять адрес: =ДВССЫЛ("'"&$B$5&"[01.xlsm]Текущий день'!"&АДРЕС(СТРОКА(C23);СТОЛБЕЦ(C23)))
Вот тут то вся и беда). Так как файл, который подбирает инфу из других файлов находится в дропбоксе, то путь постоянно меняется. + по завершению месяца переносится в отдельную папку. Использую ctrl+h и замену пути. Получается, автоматизировать данный процесс не получится. P.S. Можно было бы перейти на тот же one drive, однако папку дропбокс можно хранить в определенном каталоге на диске (поэтому на нескольких компах одинаковый путь), но не на всех)
Ну тогда вариантов почти не остаётся. Если файл используется только вами и не предназначен для рассылки, то поинтересуйтесь надстройкой написанной Laurent Longre, в которой есть функция листа INDIRECT.EXT или надстройкой написанной Harlan Grove, где есть функция листа PULSE. Я их сам не пробовал, но когда-то рекомендовали как решение. Вполне возможно, что за давностью лет они и перестали работать в последних версиях Excel, но может имеет смысл попытать счастья. Удачи.
добавлено: фунция PULSE, похоже, использует ADO, так что наверняка медленная.
А так как путь у нас постоянный: ='C:\Dropbox\Folder\[03.xlsm]Текущий день'!$AJ$23, за исключением всего, что написано до символа "[", то можно далее добавить замену символов до "[" на то, что получается в B1 во всех ячейках. Реализуемо? 02:45 Получается, вся проблема в выборке всех символов до "[". Можно даже вручную проставить несколько диапазонов, чтобы не накосячить случайно. 02:49 Если первый символ = [, Paste B1, else удалить, repeat. Что-то типа такого. 03:47 Если вставлять путь через инпут бокс, то он отображается как ссылка именно. Полагаю, что замена символов до "[" решит проблему. Пора спать...)
KL написал: =ЯЧЕЙКА("filename") выдает путь именно к тому файлу, в котором используется и не ошибается
Кирилл, что-то меня терзают смутные сомнения...Если не указать второй аргумент(адрес ячейки), то функция вернет путь до активного на момент пересчета файла, а не путь до файла с функцией. Т.е. корректней будет так: ЯЧЕЙКА("filename";A1)
Jonych, я так до конца и не понял, что Вам надо. Возможно, какой-нибудь вариант на макросах из моей статьи подойдет: Как получить данные из закрытой книги?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Все-таки не получилось). Перейти на one-drive с динамическими путями (в зависимости от пользователя компа) не получится. Остается Dropbox со стационарным путем C:\Dropbox\Папка\файлы.xlsx
Накопал идею: http://forum.msexcel.ru/index.php?topic=1920.0. Там много всего, но смысл в том, чтобы сделать кнопку "обновить данные", и по нажатию в невидимом режиме открывается 31 файл, данные обновляются, файлы закрываются.