Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как вписать имя файла в ячейку формулой. - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как вписать имя файла в ячейку формулой. (Макросы/Sub)
Как вписать имя файла в ячейку формулой.
koyaanisqatsi Дата: Пятница, 23.05.2014, 14:44 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
На каждый новый день задается файл с датой завтра. Внутри файла есть ячейка с формулой которая пишет завтрашнюю дату но если открывать файл который будет актуален через день то формула будет выводить не актуальную дату а завтрашнего числа.

Хочется сделать так чтобы название файла писалось в ячейке автоматом. тогда дата будет истинна.
 
Ответить
СообщениеНа каждый новый день задается файл с датой завтра. Внутри файла есть ячейка с формулой которая пишет завтрашнюю дату но если открывать файл который будет актуален через день то формула будет выводить не актуальную дату а завтрашнего числа.

Хочется сделать так чтобы название файла писалось в ячейке автоматом. тогда дата будет истинна.

Автор - koyaanisqatsi
Дата добавления - 23.05.2014 в 14:44
wild_pig Дата: Пятница, 23.05.2014, 15:12 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 516
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[vba]
Код
[A1] = ThisWorkbook.Name
[/vba]
Это раздел "VBA", а не "Формулы" (если чё).
 
Ответить
Сообщение[vba]
Код
[A1] = ThisWorkbook.Name
[/vba]
Это раздел "VBA", а не "Формулы" (если чё).

Автор - wild_pig
Дата добавления - 23.05.2014 в 15:12
igrtsk Дата: Пятница, 23.05.2014, 15:12 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 314
Репутация: 50 ±
Замечаний: 0% ±

Excel 2016
Упс. Ничего не понял :(


Инструктор по применению лосей в кавалерийских частях РККА
 
Ответить
СообщениеУпс. Ничего не понял :(

Автор - igrtsk
Дата добавления - 23.05.2014 в 15:12
Pelena Дата: Пятница, 23.05.2014, 16:38 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Формулой
Код
=ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеФормулой
Код
=ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)

Автор - Pelena
Дата добавления - 23.05.2014 в 16:38
_Boroda_ Дата: Пятница, 23.05.2014, 18:55 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще вариант.
Макросов в файле нет, но они должны быть разрешены.
Файл перевложил. Добавил еще несколько вариантов. По сути - одинаковых
К сообщению приложен файл: 26.05.2014.xlsm (35.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант.
Макросов в файле нет, но они должны быть разрешены.
Файл перевложил. Добавил еще несколько вариантов. По сути - одинаковых

Автор - _Boroda_
Дата добавления - 23.05.2014 в 18:55
koyaanisqatsi Дата: Пятница, 23.05.2014, 22:22 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Pelena, Ваща формула бесподобна ! Она работает ! ))))
 
Ответить
СообщениеPelena, Ваща формула бесподобна ! Она работает ! ))))

Автор - koyaanisqatsi
Дата добавления - 23.05.2014 в 22:22
Serge_007 Дата: Пятница, 23.05.2014, 22:29 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Pelena, Ваща формула бесподобна !
Никто в этом не сомневался :)

Она работает ! )
Конечно, но только в русской локали Excel
Что бы работало в любой версии надо заменить "имяфайла" на "filename", а что бы волатильная ЯЧЕЙКА обновлялась, в аргумент "ссылка" надо так же добавить ссылку на любую ячейку листа:
Код
=ПСТР(ЯЧЕЙКА("filename";A1);ПОИСК("[";ЯЧЕЙКА("filename"))+1;ПОИСК(".xls";ЯЧЕЙКА("filename"))-ПОИСК("[";ЯЧЕЙКА("filename"))-1)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Pelena, Ваща формула бесподобна !
Никто в этом не сомневался :)

Она работает ! )
Конечно, но только в русской локали Excel
Что бы работало в любой версии надо заменить "имяфайла" на "filename", а что бы волатильная ЯЧЕЙКА обновлялась, в аргумент "ссылка" надо так же добавить ссылку на любую ячейку листа:
Код
=ПСТР(ЯЧЕЙКА("filename";A1);ПОИСК("[";ЯЧЕЙКА("filename"))+1;ПОИСК(".xls";ЯЧЕЙКА("filename"))-ПОИСК("[";ЯЧЕЙКА("filename"))-1)

Автор - Serge_007
Дата добавления - 23.05.2014 в 22:29
_Boroda_ Дата: Пятница, 23.05.2014, 22:53 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Более того, ЯЧЕЙКА("имяфайла") с опущенным вторым аргументом показывает имя и путь того файла, в котором находится последняя измененная ячейка в любом!!! файле, а вовсе не того, в котором эта формула находится. Поэкспериментируйте на досуге. Поэтому использовать ЯЧЕЙКА без второго аргумента чревато ОЧЕНЬ большими внезапными косяками.
Представьте: Вы открываете первую книгу, видите там нормальное имя этого файла, потом открываете вторую книгу, в которой есть ссылка на это имя из первой книги. Сначала (после того, как только открыли вторую книгу) все нормально. А вот как только Вы что-то поменяете в этой второй книге - тут же ячейка в первой книге с формулой ЯЧЕЙКА("имяфайла") изменится на путь и название второй книги. И попробуй догадайся, почему это вдруг все расчеты полетели. Это хорошо еще, если сразу заметишь. А если не сразу? Или вообще не заметишь?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеБолее того, ЯЧЕЙКА("имяфайла") с опущенным вторым аргументом показывает имя и путь того файла, в котором находится последняя измененная ячейка в любом!!! файле, а вовсе не того, в котором эта формула находится. Поэкспериментируйте на досуге. Поэтому использовать ЯЧЕЙКА без второго аргумента чревато ОЧЕНЬ большими внезапными косяками.
Представьте: Вы открываете первую книгу, видите там нормальное имя этого файла, потом открываете вторую книгу, в которой есть ссылка на это имя из первой книги. Сначала (после того, как только открыли вторую книгу) все нормально. А вот как только Вы что-то поменяете в этой второй книге - тут же ячейка в первой книге с формулой ЯЧЕЙКА("имяфайла") изменится на путь и название второй книги. И попробуй догадайся, почему это вдруг все расчеты полетели. Это хорошо еще, если сразу заметишь. А если не сразу? Или вообще не заметишь?

Автор - _Boroda_
Дата добавления - 23.05.2014 в 22:53
Serge_007 Дата: Пятница, 23.05.2014, 22:56 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
в котором находится последняя измененная ячейка!, а вовсе не того, в котором эта формула находится
Саш, для корректной работы надо сохранить файл


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
в котором находится последняя измененная ячейка!, а вовсе не того, в котором эта формула находится
Саш, для корректной работы надо сохранить файл

Автор - Serge_007
Дата добавления - 23.05.2014 в 22:56
_Boroda_ Дата: Пятница, 23.05.2014, 22:59 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Серег, речь немного не об этом. Речь о том, что ЯЧЕЙКА("имяфайла") в любом (хоть сохраненном, хоть нет)файле работает так, как я описал выше. А если файл не сохранен, то ЯЧЕЙКА("имяфайла") просто даст пусто.
Посмотри файл во вложении.
Файл сначала нужно сохранить.
Когда ты на первом листе, то все нормально. Перейди на второй - увидишь картинку с первого. Она показывает вроде тоже все нормально. А теперь введи что угодно в любую ячейку второго листа и посмотри на картинку.
То же самое и с книгами творится.
К сообщению приложен файл: 123132.xlsx (13.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСерег, речь немного не об этом. Речь о том, что ЯЧЕЙКА("имяфайла") в любом (хоть сохраненном, хоть нет)файле работает так, как я описал выше. А если файл не сохранен, то ЯЧЕЙКА("имяфайла") просто даст пусто.
Посмотри файл во вложении.
Файл сначала нужно сохранить.
Когда ты на первом листе, то все нормально. Перейди на второй - увидишь картинку с первого. Она показывает вроде тоже все нормально. А теперь введи что угодно в любую ячейку второго листа и посмотри на картинку.
То же самое и с книгами творится.

Автор - _Boroda_
Дата добавления - 23.05.2014 в 22:59
Serge_007 Дата: Пятница, 23.05.2014, 23:03 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Я понял
Но при сохраненном файле и при ссылке на ThisWorkbook описываемого тобой эффекта не будет


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЯ понял
Но при сохраненном файле и при ссылке на ThisWorkbook описываемого тобой эффекта не будет

Автор - Serge_007
Дата добавления - 23.05.2014 в 23:03
_Boroda_ Дата: Пятница, 23.05.2014, 23:05 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
при ссылке на ThisWorkbook
Это ты о чем? О втором аргументе? Так речь о том и идет, что косяк только при отсутствии этого второго аргумента. ЯЧЕЙКА("имяфайла"), а не ЯЧЕЙКА("имяфайла";A1)
Я там в пред. сообщение файлик довложил.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
при ссылке на ThisWorkbook
Это ты о чем? О втором аргументе? Так речь о том и идет, что косяк только при отсутствии этого второго аргумента. ЯЧЕЙКА("имяфайла"), а не ЯЧЕЙКА("имяфайла";A1)
Я там в пред. сообщение файлик довложил.

Автор - _Boroda_
Дата добавления - 23.05.2014 в 23:05
Pelena Дата: Пятница, 23.05.2014, 23:17 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Надо же какие тонкости, не знала, спасибо :)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНадо же какие тонкости, не знала, спасибо :)

Автор - Pelena
Дата добавления - 23.05.2014 в 23:17
ZORRO2005 Дата: Суббота, 24.05.2014, 19:41 | Сообщение № 14
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Да, _Boroda_- молодец! Хорошо подмечено и продемонстрировано.
 
Ответить
СообщениеДа, _Boroda_- молодец! Хорошо подмечено и продемонстрировано.

Автор - ZORRO2005
Дата добавления - 24.05.2014 в 19:41
Serge_007 Дата: Суббота, 24.05.2014, 22:43 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Это ты о чем? О втором аргументе? Так речь о том и идет, что косяк только при отсутствии этого второго аргумента
Вот и я о том же, только другими словами :)
что бы волатильная ЯЧЕЙКА обновлялась, в аргумент "ссылка" надо так же добавить ссылку на любую ячейку листа
Имеется ввиду обновлялась ПРАВИЛЬНО (со ссылкой на текущую книгу, а не на любую)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Это ты о чем? О втором аргументе? Так речь о том и идет, что косяк только при отсутствии этого второго аргумента
Вот и я о том же, только другими словами :)
что бы волатильная ЯЧЕЙКА обновлялась, в аргумент "ссылка" надо так же добавить ссылку на любую ячейку листа
Имеется ввиду обновлялась ПРАВИЛЬНО (со ссылкой на текущую книгу, а не на любую)

Автор - Serge_007
Дата добавления - 24.05.2014 в 22:43
Alex_ST Дата: Воскресенье, 25.05.2014, 20:21 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3198
Репутация: 606 ±
Замечаний: 0% ±

2003
Это раздел "VBA", а не "Формулы"
Я тоже, честно говоря, не понял, почему это два модератора с одним админом оффтопом на виду у всех занимаются?
shock



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Это раздел "VBA", а не "Формулы"
Я тоже, честно говоря, не понял, почему это два модератора с одним админом оффтопом на виду у всех занимаются?
shock

Автор - Alex_ST
Дата добавления - 25.05.2014 в 20:21
VictorNNM Дата: Четверг, 22.12.2016, 11:58 | Сообщение № 17
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Приветствую всех на этом форуме! С НАСТУПАЮЩИМ ВСЕХ!!!
Это мое первое сообщение в этом форуме. Я не силен в Exel.
Формула _Boroda_ 123132.xlsx супер! Но я незнаю как извлечь в определенную ячейку только имя файла.
Например у меня в ячейке A1 получается D:\Work\[30.xlsm]Первый
А мне нужно в ячейке скажем B1 было 30.xlsm
Помогите пожалуйста срочно нужно
 
Ответить
СообщениеПриветствую всех на этом форуме! С НАСТУПАЮЩИМ ВСЕХ!!!
Это мое первое сообщение в этом форуме. Я не силен в Exel.
Формула _Boroda_ 123132.xlsx супер! Но я незнаю как извлечь в определенную ячейку только имя файла.
Например у меня в ячейке A1 получается D:\Work\[30.xlsm]Первый
А мне нужно в ячейке скажем B1 было 30.xlsm
Помогите пожалуйста срочно нужно

Автор - VictorNNM
Дата добавления - 22.12.2016 в 11:58
VictorNNM Дата: Четверг, 22.12.2016, 12:10 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Простите забыл
Нужно в B1 получить имя 30.xlsm полную с расширением, а на B2 только название 30, то есть без расширения файла
 
Ответить
СообщениеПростите забыл
Нужно в B1 получить имя 30.xlsm полную с расширением, а на B2 только название 30, то есть без расширения файла

Автор - VictorNNM
Дата добавления - 22.12.2016 в 12:10
_Boroda_ Дата: Четверг, 22.12.2016, 12:11 | Сообщение № 19
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да все также - смотрите формулы Елены и Сергея, но с моим дополнением об обязательности ссылки на ячейку. Ну и, поскольку расширение Вам нужно, то ищем не .xls, а закрывающуюся квадратную скобку
Получится вот так
Код
=ПСТР(ЯЧЕЙКА("filename";A1);ПОИСК("[";ЯЧЕЙКА("filename";A1))+1;ПОИСК("]";ЯЧЕЙКА("filename";A1))-ПОИСК("[";ЯЧЕЙКА("filename";A1))-1)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа все также - смотрите формулы Елены и Сергея, но с моим дополнением об обязательности ссылки на ячейку. Ну и, поскольку расширение Вам нужно, то ищем не .xls, а закрывающуюся квадратную скобку
Получится вот так
Код
=ПСТР(ЯЧЕЙКА("filename";A1);ПОИСК("[";ЯЧЕЙКА("filename";A1))+1;ПОИСК("]";ЯЧЕЙКА("filename";A1))-ПОИСК("[";ЯЧЕЙКА("filename";A1))-1)

Автор - _Boroda_
Дата добавления - 22.12.2016 в 12:11
SLAVICK Дата: Четверг, 22.12.2016, 12:24 | Сообщение № 20
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Можно так:
В1:
Код
СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЯЧЕЙКА("имяфайла";F24);"[";"]");"]";ПОВТОР(" ";99));99;99))

в2:
Код
ЛЕВБ(B1;ПОИСК(".x";B1)-1)
К сообщению приложен файл: 9270835.xlsx (8.2 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеМожно так:
В1:
Код
СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЯЧЕЙКА("имяфайла";F24);"[";"]");"]";ПОВТОР(" ";99));99;99))

в2:
Код
ЛЕВБ(B1;ПОИСК(".x";B1)-1)

Автор - SLAVICK
Дата добавления - 22.12.2016 в 12:24
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как вписать имя файла в ячейку формулой. (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!