|
Olga H. Пользователь Сообщений: 383 |
Посоветуйте пожалуйста, хочу сделать так, чтобы информация, которая содержится в определённой ячейке листа, стала бы именем сохраняемого файла. В ячейке A1 листа 1 указана цифра «9», жму на «сохранить как» и хочу, чтобы в строку «имя файла» перенеслась бы цифра, содержащаяся в ячейке A1 листа 1, в данном случае «9». |
|
Казанский Пользователь Сообщений: 8839 |
#2 22.05.2015 17:59:08 В модуль книги («ЭтаКнига», НЕ в обычный модуль «Module1»!)
Изменено: Казанский — 22.05.2015 18:00:22 |
||
|
Olga H. Пользователь Сообщений: 383 |
Казанский
Спасибо, получилось! Подскажите пожалуйста, как сделать так, чтобы данные, содержащиеся в двух строчках в ячейках b2:c2 и ячейках b3:c3 стали бы именем сохраняемого файла «акт проверки деталей партии № 455». Если бы желаемое имя сохраняемого файла находилось бы в одной строке, то ясно, что надо в строке Show Range указать диапазон, например, Show Range(«b2:c2»). А вот что сделать, если желаемое имя сохраняемого файла находится в двух строках? |
|
JeyCi Пользователь Сообщений: 3357 |
#4 23.05.2015 09:41:43
перечислить ячейки в коде выше
Изменено: JeyCi — 23.05.2015 09:43:07 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
|
Olga H. Пользователь Сообщений: 383 |
JeyCi
. В отношении » ‘переменная из значений 2х ячеек», покажите пожалуйста в строчке макроса, как эта переменная будут выглядеть в приложении к моему Примеру 2 |
|
JeyCi Пользователь Сообщений: 3357 |
уже показала ячейки B2, B3 и подписала в комменте… чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
|
Olga H. Пользователь Сообщений: 383 |
JeyCi
, извините, я не очень хорошо знаю терминологию по макросам. Что означает в отношении моего Примера 2 ‘переменная из значений 2х ячеек? |
|
JeyCi Пользователь Сообщений: 3357 |
#8 23.05.2015 10:44:20
для кода — ничего не означает — комментарии не исполняются — просто для инфо…
для вас — просто прочитать, чтобы понять… неизвестные слова лучше прогуглить, если хотите узнать терминологию макросов Изменено: JeyCi — 23.05.2015 10:45:42 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
|
Olga H. Пользователь Сообщений: 383 |
JeyCi
, спасибо, всё получилось! Просто подумала, что по вашему примечанию «‘переменная из значений 2х ячеек » требуется дополнительно что то писать в строку макроса s$ = Join(Array([B2], [B3], «»), что то указывать в кавычках этой строки. На самом деле ничего не надо добавлять. Спасибо. |
|
JeyCi Пользователь Сообщений: 3357 |
#10 23.05.2015 10:52:24
кавычки пустые в данном случае дают пробел между значениями 2х ячеек, Изменено: JeyCi — 23.05.2015 10:53:58 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||
|
Olga H. Пользователь Сообщений: 383 |
JeyCi
, подскажите пожалуйста, что необходимо сделать если в ячейках, данные в которые становятся именем сохраняемого файла, имеется элемент, который построен с помощью ActiveХ и в окошке этого элемента указаны данные? Чтобы имя сохраняемого файла было бы «акт проверки деталей партии № 455». |
|
JeyCi Пользователь Сообщений: 3357 |
#12 24.05.2015 09:28:44
я не использую такие варианты!!…, считаю, чем проще файл в обращении — тем удобнее его обслуживать… Изменено: JeyCi — 24.05.2015 09:37:32 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#13 24.05.2015 14:16:22
Такого не может быть — ActiveX на листе находится НАД ячейкой. Делайте, как советует JeyCi — связывайте контрол с ячейкой. |
||
|
Olga H. Пользователь Сообщений: 383 |
#14 02.06.2015 09:19:48 Подскажите пожалуйста, как сделать так, чтобы данные, содержащиеся в двух строчках в ячейках b2:c2 и b3:d3, стали бы именем сохраняемого файла, а именно акт проверки деталей партии № 455. Отличие от предыдущего моего примера № 2 в том, что теперь номер документа (455) расположен в отдельной ячейке (d3), а раньше он был в одной ячейке с текстом «деталей партии №». Помогите пожалуйста подредактировть указанный ниже макрос, чтобы имя сохраняемого документа стало акт проверки деталей партии № 455 Предыдущий работоспособный макрос:
Прикрепленные файлы
|
||
|
Hugo Пользователь Сообщений: 23249 |
#15 02.06.2015 09:34:55
|
||
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Ольга, Вы не первый день на форуме — коды следует оформлять тегом. |
|
Olga H. Пользователь Сообщений: 383 |
Вставила макрос в приложенный к этому посту пример, файл сохраняется под нужным именем, но перед именем файла и после него проявлятся апострофы. Подскажите пожалуйста, что сделать, чтобы из названия файла исчезли апострофы. |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#18 02.06.2015 15:19:30 А может попробовать обычное сцепление?
|
||
|
Hugo Пользователь Сообщений: 23249 |
Уберите из строки точку — кавычек не будет. |
|
Olga H. Пользователь Сообщений: 383 |
Hugo, убрала точку и двоеточие и апострофы исчезли. А можно ли подредактировать макрос, чтобы точка и двоеточие в ячейке остались или же эти символы недопустимы в названии файла? Подскажите пожалуйста, что необходимо сделать чтобы в названии файла между no (в книге это находится в ячейке E8) и 455 (в книге это находится в ячейке F8) был бы единичный пробел, а то они сейчас в названии файла сливаются. |
|
Olga H. Пользователь Сообщений: 383 |
Лист сохраняется под именем, указанным в ячейках A1:C1, то есть aa-bb-cc. Но если из крайней ячейки (C1) удалить данные (сс), то имя сохраняемого файла получается с «хвостиком» (тире после bb: то есть aa-bb-). Подскажите пожалуйста, как изменить макрос (он записан в «ЭтаКнига»), чтобы при удалении данных из ячеек B1:C1 имя файла сохранялось бы без «хвостика», и было aa-bb или aa |
|
Михаил Лебедев Пользователь Сообщений: 2855 |
#22 16.06.2015 10:09:55
Изменено: Михаил Лебедев — 16.06.2015 10:12:02 Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
||
|
Olga H. Пользователь Сообщений: 383 |
#23 16.06.2015 10:23:16 Михаил Лебедев, спасибо, работает! Вставила ваш макрос в «ЭтаКнига» взамен того, который был в Примере 6, и «хвостики» в имени сохраняемого файла исчезают при удалении данных из ячеек B1:C1. |
Привет, сейчас мы рассмотрим ситуацию, когда у Вас возникла необходимость в Excel сохранять файл с определенным названием, которое необходимо сформировать из значения ячейки или даже нескольких. В этой заметке я приведу простой пример реализации данной задачи.
Содержание
- Исходные данные
- Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
- Добавление кнопки в Excel для запуска макроса
- Сохранение файла Excel с названием из ячейки — без привязки к ячейке
- Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
Исходные данные
Сначала давайте разберем исходные данные, которые я буду использовать в примерах. Пусть это будет некая абстракция марок автомобилей с указанием их VIN номера.
Примечание! Я использую Excel 2013.
В зависимости от конкретных требований и условий, задачу можно реализовать по-разному, хотя принцип будет один и тот же, в этой статье мы рассмотрим несколько вариаций реализации.
Начнем мы с самой простой ситуации, когда заранее известна ячейка, на основе которой будет сформировано имя файла, и адрес этой ячейки изменяться не будет.
Заметка! Этапы разработки программы – как создаются и проектируются программы?
Итак, данные у нас есть, теперь необходимо написать процедуру на VBA (макрос), которая брала бы значение из конкретной ячейки, в данном случае это будет ячейка B14, и присваивала бы это значение имени файла.
Ниже представлен код процедуры, я его подробно прокомментировал. Единственное скажу, что я во всех примерах сохраняю новые файлы без макросов (расширение .xlsx), т.е. по факту будет один файл с поддержкой макросов, а все производные — без.
Если нужно сохранять макрос в каждом файле, т.е. файлы с поддержкой макросов (расширение .xlsm), то необходимо просто указать другой тип файла при сохранении, а именно xlOpenXMLWorkbookMacroEnabled, в процедурах в комментариях я это указываю.
Открываем в Excel редактор Visual Basic, и вставляем код следующей процедуры в исходный код этой книги (ЭтаКнига, открыть двойным кликом) или в модуль, который Вы предварительно должны создать.
Примечание! Для того чтобы открыть редактор Visual Basic в Excel, необходимо перейти на вкладку «Разработчик» и нажать на кнопку «Visual Basic». Файл Excel с кодом процедуры необходимо сохранить с типом «Книга Excel с поддержкой макросов».
Код процедуры
Sub SaveFile()
'Объявление переменных
Dim CellValue As String
Dim Path As String
Dim FinalFileName As String
'Временно отключаем показ вспомогательных сообщений
Application.DisplayAlerts = False
'Задаём каталог сохранения файла (в данном случае текущий каталог)
Path = ThisWorkbook.Path & ""
'Получаем значение ячейки
CellValue = Range("B14")
'Формируем итоговый путь и название файла
FinalFileName = Path & CellValue
'Сохраняем файл
ActiveWorkbook.SaveAs FileName:=FinalFileName, _
FileFormat:=xlOpenXMLWorkbook
'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
'Включаем вывод сообщений
Application.DisplayAlerts = True
'Сообщение с результатом выполнения процедуры
MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"
End Sub
После сохранения файла запустите макрос («Макросы -> Выполнить -> SaveFile»).
В результате в моем случае процедура успешно выполнилась, файл сохранился с названием «Марка Авто 1», данное значение взято из ячейки B14, о чем будет свидетельствовать сообщение в конце процедуры. Файл сохранен в каталоге, где и исходный файл (во всех примерах ниже прописано то же самое, т.е. сохранение рядом с исходником, но это Вы можете изменить).
Заметка! Статический анализ кода в теории и на практике.
Добавление кнопки в Excel для запуска макроса
Каждый раз открывать окно с макросами и выбирать нужный макрос не очень удобно, поэтому можно легко добавить кнопку где-нибудь рядом с данными и просто нажимать ее. Это делается следующим образом «Вкладка Разработчик -> Вставить -> Кнопка (элемент управления формы)».
Затем выберите место, где вставить кнопку, и нажмите туда. После этого появится окно назначения действия, т.е. нужно выбрать, какой макрос запускать при нажатии этой кнопки, выбираем наш макрос, т.е. SaveFile, и нажимаем «ОК».

В итоге появится кнопка с названием «Кнопка», это название лучше изменить, например, на «Сохранить файл». Для этого нажмите правой кнопкой мыши на кнопку и выберите настройки «Изменить текст». В итоге у Вас должно получиться что-то вроде этого.
Заметка! ТОП 7 популярных языков программирования.
Сохранение файла Excel с названием из ячейки — без привязки к ячейке
Теперь давайте представим, что заранее мы не можем определить, какая именно ячейка будет формировать название файла (может B14, а может и нет), поэтому мы можем немного скорректировать алгоритм таким образом, чтобы он брал значение из ячейки, которая является активной, но в этом случае Вы, конечно же, предварительно, должны выбрать ее (т.е. встать на нее).
Замените код процедуры следующим кодом, который совсем немного, но изменен.
Sub SaveFile()
'Объявление переменных
Dim CellValue As String
Dim Path As String
Dim FinalFileName As String
'Временно отключаем показ вспомогательных сообщений
Application.DisplayAlerts = False
'Задаём каталог сохранения файла (в данном случае текущий каталог)
Path = ThisWorkbook.Path & ""
'Проверка значения ячейки
If ActiveCell.Value = "" Then
MsgBox "В ячейке отсутствует значение", vbCritical, "Ошибка!"
Exit Sub
End If
'Получаем значение активной ячейки
CellValue = ActiveCell.Value
'Формируем итоговый путь и название файла
FinalFileName = Path & CellValue
'Сохраняем файл
ActiveWorkbook.SaveAs FileName:=FinalFileName, _
FileFormat:=xlOpenXMLWorkbook
'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
'Включаем вывод сообщений
Application.DisplayAlerts = True
MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"
End Sub
Проверяем работу, становимся на нужную ячейку, и запускаем макрос (в процедуре я добавил проверку, если выбрана пустая ячейка, возникнет ошибка).
Как видим, все отработало.
Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
Теперь представим, что нам нужно сформировать файл с названием из значений двух ячеек. Например, в нашем случае это может быть «Марка Авто – VIN Номер», в качестве разделителя я указал символ – (дефис), но им может выступать любой символ или вовсе отсутствовать.
В этом примере я покажу, как можно это реализовать с привязкой к конкретным ячейкам, в нашем случае B14 и D14.
Код процедуры в данном случае будет выглядеть следующим образом.
Sub SaveFile()
'Объявление переменных
Dim CellValue As String
Dim Path As String
Dim FinalFileName As String
'Временно отключаем показ вспомогательных сообщений
Application.DisplayAlerts = False
'Задаём каталог сохранения файла (в данном случае текущий каталог)
Path = ThisWorkbook.Path & ""
'Проверка значения ячеек B14 и D14
If Range("B14").Value = "" Or Range("D14").Value = "" Then
MsgBox "В ячейке отсутствует значение", vbCritical, "Ошибка!"
Exit Sub
End If
'Складываем значения из двух ячеек B14 и D14
CellValue = Range("B14").Value & " - " & Range("D14").Value
'Формируем итоговый путь и название файла
FinalFileName = Path & CellValue
'Сохраняем файл
ActiveWorkbook.SaveAs FileName:=FinalFileName, _
FileFormat:=xlOpenXMLWorkbook
'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
'Включаем вывод сообщений
Application.DisplayAlerts = True
MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"
End Sub
Запускаем макрос.
Все ОК, файл создан.
Заметка! Как измерить сложность кода программы при программировании?
Если вдруг нужно реализовать без привязки к конкретным ячейкам, например, значения хранятся в определённых столбцах, но конкретная строка неизвестна Вам заранее. Например, у меня несколько строк со значениями, и какие конкретно значения взять за основу названия файла, я хочу указывать самостоятельно, непосредственно перед сохранением, но при этом не редактировать код процедуры.
Для этого мы снова внесем изменения в нашу процедуру, которая будет работать от активной ячейки (смещение от активной ячейки), только с условием того, что выбран столбец с теми значениями, которые необходимо использовать.
Код процедуры
Sub SaveFile()
'Объявление переменных
Dim CellValue As String
Dim Path As String
Dim FinalFileName As String
'Временно отключаем показ вспомогательных сообщений
Application.DisplayAlerts = False
'Задаём каталог сохранения файла (в данном случае текущий каталог)
Path = ThisWorkbook.Path & ""
'Проверка номера столбца
If ActiveCell.Column <> 2 Then
MsgBox "Указан некорректный столбец", vbCritical, "Ошибка!"
Exit Sub
End If
'Проверка значения ячейки
If ActiveCell.Value = "" Then
MsgBox "В ячейке отсутствует значение", vbCritical, "Ошибка!"
Exit Sub
End If
'Получаем значение активной ячейки
CellValue = ActiveCell.Value
'Смещаемся на 2 столбца, относительно активной ячейки
ActiveCell.Offset(0, 2).Select
'Складываем значения из двух ячеек
CellValue = CellValue & " - " & ActiveCell.Value
'Формируем итоговый путь и название файла
FinalFileName = Path & CellValue
'Сохраняем файл
ActiveWorkbook.SaveAs FileName:=FinalFileName, _
FileFormat:=xlOpenXMLWorkbook
'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
'Включаем вывод сообщений
Application.DisplayAlerts = True
MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"
End Sub
Становитесь на любую ячейку со значением в столбце B, и запускайте макрос.
Заметка! Опрос. Какой операционной системой Вы пользуетесь?
У меня на этом все, надеюсь, материал был Вам полезен, пока!
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.
Нужна дополнительная помощь?
In this guide, we’re going to show you how to get filename from path in Excel. We will cover how to do this with and without VBA.
Download Workbook
File path and file name
A file path is a string identifier that specifies the unique location in a file system. It contains folders in a hierarchical order following by a file name. Each element is separated by a delimiter which is usually a backslash «». The goal of getting filename from path is to parse that filename after the last delimiter.
Warning: If your paths contain another separator, update the formulas by replacing backslash («») with the separator character fits your case.
We will show you four different approaches to get filename from path in Excel.
Conservative method
Our first approach is using well known Excel functions MIN, SUBSTITUE and LEN to get the file name. You can use this formula in any Excel version.
=MID(<path>,FIND(«*»,SUBSTITUTE(<path>,»»,»*»,LEN(<path>)-LEN(SUBSTITUTE(<path>,»»,»»))))+1,LEN(<path>))
This formula has couple of steps:
- At the inner section, all separators («») get replaced with empty strings.
- The formula subtracts the length of substituted path (1) from original path to find the number of separators.
- The outer SUBSTITUTE function replaces the last separator («») with «*». Obviously, the last separator’s instance is equal to number of separators (2).
- Finally, the FIND locates the «*» character, and the MID function parses the file name after the character.
VBA with FileSystemObject
You can use VBA to create your own custom functions which you can use in worksheet as well. Of course, you can use this function in your macros as well.
The code is very short. It uses GetFileName method of FileSystemObject object. The important section of the code is the initializing of the object. The following code sets FileSystemObject object to fso variable.
Set fso = CreateObject(«Scripting.FileSystemObject»)
Once the object is initialized, use the GetFileName method by providing the path.
GetFileNameFromPath_FSO = fso.GetFileName(«C:Excel FilesDashboards.xlsm»)
The above line returns «Dashboard.xlsm» string. Here is the function version you can use in your worksheets as well.
Function GetFileNameFromPath_FSO(ByVal Path As String) As String
Set fso = CreateObject("Scripting.FileSystemObject")
GetFileNameFromPath_FSO = fso.GetFileName(Path)
End Function
VBA with a recursive function
A recursive function is function which calls itself. The recursive approach acts like an iteration and helps us to parse values starting from the end of a string. You could have used recursive functions only in VBA until the LAMBDA function has been released. Because the most of Excel users do not have access to the LAMBDA function, we will show you VBA version which any Excel user can use.
This function has only few rows as well. The function’s name is GetFilenameFromPath_Recursive and take a single argument named Path.
The first row is a logical test that checks if the last character in the argument is a backslash («») or not and if the argument is not an empty string. If the test is passed, the function returns itself with the argument without its last character and the last character of the path. This is where the recursion occurs.
The function runs itself until coming up a backslash («») or not a character left. It parses the characters from the right side and combines them with each run.
The last row contains a standard End If statement which determines where the If block ends.
Function GetFilenameFromPath_Recursive(ByVal Path As String) As String
If Right$(Path, 1) <> "" And Len(Path) > 0 Then
GetFilenameFromPath_Recursive = GetFilenameFromPath_Recursive(Left$(Path, Len(Path) - 1)) & Right$(Path, 1)
End If
End Function
Using LAMBDA to get filename from path
If you are Microsoft 365 subscriber, you can create recursive functions without using VBA. Briefly, the LAMBDA function is a special function that converts named ranges into user defined functions. Its syntax allows you to define arguments and a custom formula which uses that defined arguments.
For example, let’s say my custom function will have two arguments and returns multiplication of two arguments. All I need to is creating a named range, such as «MyLambda» and enter the following formula into Refers to box.
| Syntax | Sample Formula | Sample Result |
| =LAMBDA(x, y, x*y) | =MyLambda(2,3) | 6 |
If you call the named range «MyLambda» in the «MyLambda» function, you will create a recursive function. Same logic can be applied to VBA function at previous section.
The following is the LAMBDA version of our VBA code. The function’s name is GetFileNameFromPath_Lambda. Check out how the function calls itself after IF function’s logical test.
=LAMBDA(Path,IF(AND(RIGHT(Path,1)<>»»,LEN(Path)>0),GetFileNameFromPath_Lambda(LEFT(Path,LEN(Path)-1))&RIGHT(Path,1),»»))
Warning: Do not forget to update formula name in the formula if you change the named range’s name. Otherwise, the function returns #NAME? error due to incorrect function name.
Using LAMBDA Function with different approach
Alternatively, you can use the LAMBDA function without calling the «function name». The definition may sound complicated since you must call the function in the function by its name. This structure dictates you to update each occurrence of the name every time change the function’s name.
You can overcome this necessity by using another Microsoft 365-specific function called LET. The LET function allows you to define named ranges in a formula scope. You can define repeating values or blocks into these names and use them continuously.
If you define the name of the LAMBDA function in the formula, you can use the in-formula name over and over to make the function recursive. In our example, we create the name «Func» in the formula and call it within self. Outer LAMBDA function is to give the whatever name we want, «GetFileNameFromPath_LambdaMe».
=LAMBDA(Path,LET(Func,LAMBDA(ME,Path,IF(AND(RIGHT(Path,1)<>»»,LEN(Path)>0),ME(ME,LEFT(Path,LEN(Path)-1))&RIGHT(Path,1),»»)),Func(Func,Path)))
|
Задавать свое имя файла при сохранении |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |


















И если один раз сохранить то потом при очередном сохранении отображается только мое диалоговое окно. А так же по поводу формата. Пробовала уже брать то что выдает стандартный макрос при сохранении (FileFormat:=xlOpenXMLWorkbookMacroEnabled) он на него ругается