|
Юрец Пользователь Сообщений: 63 |
Здравствуйте, |
|
Sanja Пользователь Сообщений: 14838 |
#2 13.03.2016 22:36:23 Здравствуйте. См. справку по =ЯЧЕЙКА()
Изменено: Sanja — 13.03.2016 22:49:52 Согласие есть продукт при полном непротивлении сторон. |
||
|
Юрец Пользователь Сообщений: 63 |
Посмотрел справку, подставил = ЯЧЕЙКА(«имяфайла») выдала весь путь. |
|
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Небольшой нюанс — лучше указывать ссылку на ячейку в этой книге — иначе будет возвращать путь всегда к активной книге. Как получить имя листа формулой Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
|
Юрец Пользователь Сообщений: 63 |
Включил запись макроса, сделал пару действий и возник вопрос: А как подтянуть формулу? |
|
vikttur Пользователь Сообщений: 47199 |
|
|
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#7 14.03.2016 00:12:44 Так формулой, или ВБА?
Я сам — дурнее всякого примера! … |
||
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#8 14.03.2016 00:15:12 А так не проще?
|
||
|
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#9 14.03.2016 01:14:52 Не проще, Юр. В имени может быть сколько угодно точек. Это не ДОС Изменено: kuklp — 14.03.2016 01:18:05 Я сам — дурнее всякого примера! … |
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше
Предположим, что вы хотите добавить в табличный отчет сведения, подтверждающие расположение книги и листа, чтобы быстро находить и идентифицировать их. Эту задачу можно решить несколькими способами.
Вставка текущего имени файла, его полного пути и имени активного листа
Введите или вставьте следующую формулу в ячейку, в которой нужно отобразить текущее имя файла с полным путем и именем текущего листа.
=ЯЧЕЙКА(«filename»)
Вставка текущего имени файла и имени активного листа
Введите или вставьте следующую формулу в виде формула массива, чтобы отобразить текущее имя файла и имя активного листа.
=ПРАВСИМВ(ЯЧЕЙКА(«filename»);ДЛСТР(ЯЧЕЙКА(«filename»))- МАКС(ЕСЛИ(НЕ(ЕОШ(ПОИСК(«»;ЯЧЕЙКА(«filename»); СТРОКА(1:255))));ПОИСК(«»;ЯЧЕЙКА(«filename»);СТРОКА(1:255)))))
Примечания:
-
Чтобы ввести формулу в виде формулы массива, нажмите клавиши CTRL+SHIFT+ВВОД.
-
Формула возвращает имя листа, если он был сохранен хотя бы один раз. Если вы используете эту формулу на несохраненном листе, ячейка формулы останется пустой, пока вы не сохраните лист.
Вставка только текущего имени файла
Введите или вставьте следующую формулу, чтобы вставить имя текущего файла в ячейку.
=ПСТР(ЯЧЕЙКА(«filename»);ПОИСК(«[«;ЯЧЕЙКА(«filename»))+1; ПОИСК(«]»;ЯЧЕЙКА(«filename»))-ПОИСК(«[«;ЯЧЕЙКА(«filename»))-1)
Примечание: Если вы используете эту формулу на несохраненном листе, вы увидите сообщение об ошибке #ЗНАЧ! в ячейке. После сохранения листа ошибка заменяется именем файла.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Имени текущей книги можно получить с помощью функции
ЯЧЕЙКА()
.
Функция
ЯЧЕЙКА()
возвращает
имя текущей книги
(файла) в двух случаях:
=ЯЧЕЙКА(«имяфайла»)
Типичный результат:
С:XLSПримерыТекст[Переводчик.xlsx]Лист1
=ЯЧЕЙКА(«адрес»;Лист2!A1)
, где второй аргумент – ссылка на ячейку на другом листе. Типичный результат:
[Переводчик.xlsx]Лист2!$A$1
Если формула вводится в новую книгу, то ее сначала нужно сохранить. После сохранения, возможно, потребуется нажать клавишу
F
9
(Вкладка
Формулы
, Группа
Вычисление
,
Пересчет
).
Если в ячейке
А1
находится одна из вышеуказанных формул, то для нахождения имени книги можно использовать формулу (см.
файл примера
):
=ПСТР(A1;ПОИСК(«[«;A1)+1;ПОИСК(«]»;A1)-ПОИСК(«[«;A1)-1)
Формула предполагает, что название файла заключено в скобках [ ], находит позиции этих символов и извлекает все что между ними.
Если имя файла содержит символы [ и ], то функция
ЯЧЕЙКА()
заменит эти символы на скобки ( ). Поэтому, с помощью этой функции имена файлов
Перево[дчи]к.xlsx и Перево(дчи)к.xlsx
различить нельзя.
Содержание
- Вставка в ячейку текущего имени файла Excel, пути или листа
- Вставка текущего имени файла, его полного пути и имени активного листа
- Вставка текущего имени файла и имени активного листа
- Вставка только текущего имени файла
- Дополнительные сведения
- Как на VBA сохранить файл Excel с названием, взятым из ячейки?
- Исходные данные
- Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
- Добавление кнопки в Excel для запуска макроса
- Сохранение файла Excel с названием из ячейки — без привязки к ячейке
- Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
- Как присвоить имя файлу excel
- 3 варианта переименования одной или нескольких книг в Excel 2016
- Вариант 1. Переименовать текущую книгу в Excel 2016 с помощью функции «Сохранить как»
- Вариант 2. Переименование одной или нескольких книг в диалоговом окне «Открыть» в Excel 2016
- Вариант 3: переименовать одну или несколько книг в Excel 2016 с вкладкой Office
- Как присвоить имя файлу excel
- Вставить текущее имя файла или путь в ячейку с формулой
- Вставить текущее имя файла или путь в верхний / нижний колонтитул с помощью функции верхнего и нижнего колонтитула
- Вставить текущее имя файла или путь в ячейку / верхний или нижний колонтитул с помощью Kutools for Excel
- Вставить информацию о книге
Вставка в ячейку текущего имени файла Excel, пути или листа
Предположим, что вы хотите добавить в табличный отчет сведения, подтверждающие расположение книги и листа, чтобы быстро находить и идентифицировать их. Эту задачу можно решить несколькими способами.
Вставка текущего имени файла, его полного пути и имени активного листа
Введите или вставьте следующую формулу в ячейку, в которой нужно отобразить текущее имя файла с полным путем и именем текущего листа.
Вставка текущего имени файла и имени активного листа
Введите или вставьте следующую формулу в виде формула массива, чтобы отобразить текущее имя файла и имя активного листа.
=ПРАВСИМВ(ЯЧЕЙКА(«filename»);ДЛСТР(ЯЧЕЙКА(«filename»))- МАКС(ЕСЛИ(НЕ(ЕОШ(ПОИСК(«»;ЯЧЕЙКА(«filename»); СТРОКА(1:255))));ПОИСК(«»;ЯЧЕЙКА(«filename»);СТРОКА(1:255)))))
Чтобы ввести формулу в виде формулы массива, нажмите клавиши CTRL+SHIFT+ВВОД.
Формула возвращает имя листа, если он был сохранен хотя бы один раз. Если вы используете эту формулу на несохраненном листе, ячейка формулы останется пустой, пока вы не сохраните лист.
Вставка только текущего имени файла
Введите или вставьте следующую формулу, чтобы вставить имя текущего файла в ячейку.
Примечание: Если вы используете эту формулу на несохраненном листе, вы увидите сообщение об ошибке #ЗНАЧ! в ячейке. После сохранения листа ошибка заменяется именем файла.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Источник
Как на VBA сохранить файл Excel с названием, взятым из ячейки?
Привет, сейчас мы рассмотрим ситуацию, когда у Вас возникла необходимость в Excel сохранять файл с определенным названием, которое необходимо сформировать из значения ячейки или даже нескольких. В этой заметке я приведу простой пример реализации данной задачи.
Исходные данные
Сначала давайте разберем исходные данные, которые я буду использовать в примерах. Пусть это будет некая абстракция марок автомобилей с указанием их VIN номера.
Примечание! Я использую Excel 2013.
В зависимости от конкретных требований и условий, задачу можно реализовать по-разному, хотя принцип будет один и тот же, в этой статье мы рассмотрим несколько вариаций реализации.
Начнем мы с самой простой ситуации, когда заранее известна ячейка, на основе которой будет сформировано имя файла, и адрес этой ячейки изменяться не будет.
Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
Итак, данные у нас есть, теперь необходимо написать процедуру на VBA (макрос), которая брала бы значение из конкретной ячейки, в данном случае это будет ячейка B14, и присваивала бы это значение имени файла.
Ниже представлен код процедуры, я его подробно прокомментировал. Единственное скажу, что я во всех примерах сохраняю новые файлы без макросов (расширение .xlsx), т.е. по факту будет один файл с поддержкой макросов, а все производные — без.
Если нужно сохранять макрос в каждом файле, т.е. файлы с поддержкой макросов (расширение .xlsm), то необходимо просто указать другой тип файла при сохранении, а именно xlOpenXMLWorkbookMacroEnabled, в процедурах в комментариях я это указываю.
Открываем в Excel редактор Visual Basic, и вставляем код следующей процедуры в исходный код этой книги (ЭтаКнига, открыть двойным кликом) или в модуль, который Вы предварительно должны создать.
Примечание! Для того чтобы открыть редактор Visual Basic в Excel, необходимо перейти на вкладку «Разработчик» и нажать на кнопку «Visual Basic». Файл Excel с кодом процедуры необходимо сохранить с типом «Книга Excel с поддержкой макросов».
Код процедуры
После сохранения файла запустите макрос («Макросы -> Выполнить -> SaveFile»).
В результате в моем случае процедура успешно выполнилась, файл сохранился с названием «Марка Авто 1», данное значение взято из ячейки B14, о чем будет свидетельствовать сообщение в конце процедуры. Файл сохранен в каталоге, где и исходный файл (во всех примерах ниже прописано то же самое, т.е. сохранение рядом с исходником, но это Вы можете изменить).
Добавление кнопки в Excel для запуска макроса
Каждый раз открывать окно с макросами и выбирать нужный макрос не очень удобно, поэтому можно легко добавить кнопку где-нибудь рядом с данными и просто нажимать ее. Это делается следующим образом «Вкладка Разработчик -> Вставить -> Кнопка (элемент управления формы)».
Затем выберите место, где вставить кнопку, и нажмите туда. После этого появится окно назначения действия, т.е. нужно выбрать, какой макрос запускать при нажатии этой кнопки, выбираем наш макрос, т.е. SaveFile, и нажимаем «ОК».
В итоге появится кнопка с названием «Кнопка», это название лучше изменить, например, на «Сохранить файл». Для этого нажмите правой кнопкой мыши на кнопку и выберите настройки «Изменить текст». В итоге у Вас должно получиться что-то вроде этого.
Сохранение файла Excel с названием из ячейки — без привязки к ячейке
Теперь давайте представим, что заранее мы не можем определить, какая именно ячейка будет формировать название файла (может B14, а может и нет), поэтому мы можем немного скорректировать алгоритм таким образом, чтобы он брал значение из ячейки, которая является активной, но в этом случае Вы, конечно же, предварительно, должны выбрать ее (т.е. встать на нее).
Замените код процедуры следующим кодом, который совсем немного, но изменен.
Проверяем работу, становимся на нужную ячейку, и запускаем макрос (в процедуре я добавил проверку, если выбрана пустая ячейка, возникнет ошибка).
Как видим, все отработало.
Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
Теперь представим, что нам нужно сформировать файл с названием из значений двух ячеек. Например, в нашем случае это может быть «Марка Авто – VIN Номер», в качестве разделителя я указал символ – (дефис), но им может выступать любой символ или вовсе отсутствовать.
В этом примере я покажу, как можно это реализовать с привязкой к конкретным ячейкам, в нашем случае B14 и D14.
Код процедуры в данном случае будет выглядеть следующим образом.
Все ОК, файл создан.
Если вдруг нужно реализовать без привязки к конкретным ячейкам, например, значения хранятся в определённых столбцах, но конкретная строка неизвестна Вам заранее. Например, у меня несколько строк со значениями, и какие конкретно значения взять за основу названия файла, я хочу указывать самостоятельно, непосредственно перед сохранением, но при этом не редактировать код процедуры.
Для этого мы снова внесем изменения в нашу процедуру, которая будет работать от активной ячейки (смещение от активной ячейки), только с условием того, что выбран столбец с теми значениями, которые необходимо использовать.
Код процедуры
Становитесь на любую ячейку со значением в столбце B, и запускайте макрос.
У меня на этом все, надеюсь, материал был Вам полезен, пока!
Источник
Как присвоить имя файлу excel
Модератор форума: китин, _Boroda_
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как вписать имя файла в ячейку формулой. (Макросы/Sub)
Как вписать имя файла в ячейку формулой.
| koyaanisqatsi | Дата: Пятница, 23.05.2014, 14:44 | Сообщение № 1 | |||||||||||||||||
Ноты: 1. Скопируйте любую формулу выше, которая вам нужна, в указанную ячейку, и вы получите нужный результат. 2. Открытая книга должна быть сохранена.
|
| Kutools for Excel, с более чем 300 удобные функции, облегчают вашу работу. |
Иногда бывает необходимо, чтобы ячейка могла вернуть имя рабочей книги или даже имя файла и путь для этой рабочей книги. При помощи этого трюка вы легко получите имя и путь рабочей книги.
Три пользовательские функции, с которыми мы познакомимся в этой статье, помещают в ячейку имя рабочей книги или имя файла и путь для этой рабочей книги. Два первых примера, MyName и MyFullName, не требуют никаких аргументов.
Последний, SheetName, используется, чтобы при получении имени листа не вкладывать ПСТР (MID) и другие функции в функцию ЯЧЕЙКА (CELL), так как это обычно требует использования следующей громоздкой формулы: =MID(CELL("filename";$A$1);FIND("]";CELL("filename";$A$1))+1;255), в русской версии Excel =ПСТР(ЯЧЕЙКА("имяфайла";$А$1);НАЙТИ("]";ЯЧЕЙКА("имяфайла";$А$1))+1;255). Как видно, для получения простейшего результата приходится довольно много потрудиться, поэтому мы самостоятельно разработали пользовательскую функцию SheetName.
Чтобы применить эти пользовательские функции, нажмите сочетание клавиш Alt/Option+Fll, выберите команду Insert > Module и вставьте код, приведенный в листинге 7.19.
1 2 3 4 5 6 7 8 9 10 11 |
//Листинг 7.19 Function MyName() As String MyName - ThisWorkbook.Name End Function Function MyFullName() As String MyFullName = ThisWorkbook.FullName End Function Function SheetName(rAnyCell) Application.Volatile SheetName = rAnyCell.Parent.Name End Function |
Сохраните функцию и закройте окно. Теперь эта функция появится в области Определенные пользователем (User Defined) диалогового окна Мастер функций (Paste Function) (сочетание клавиш Shift+F3).
















Вставить текущее имя файла или путь в ячейку с формулой 


