Имя файла созданного в ms excel может быть

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:

  1. At the inner section, all separators («») get replaced with empty strings.
  2. The formula subtracts the length of substituted path (1) from original path to find the number of separators.
  3. The outer SUBSTITUTE function replaces the last separator («») with «*». Obviously, the last separator’s instance is equal to number of separators (2).
  4. Finally, the FIND locates the «*» character, and the MID function parses the file name after the character.

How to get filename from path in Excel 02 - Conservative

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

How to get filename from path in Excel 03-VBA

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)))

Содержание

  1. Вставка в ячейку текущего имени файла Excel, пути или листа
  2. Вставка текущего имени файла, его полного пути и имени активного листа
  3. Вставка текущего имени файла и имени активного листа
  4. Вставка только текущего имени файла
  5. Дополнительные сведения
  6. Как на VBA сохранить файл Excel с названием, взятым из ячейки?
  7. Исходные данные
  8. Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
  9. Добавление кнопки в Excel для запуска макроса
  10. Сохранение файла Excel с названием из ячейки — без привязки к ячейке
  11. Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
  12. Как присвоить имя файлу excel
  13. 3 варианта переименования одной или нескольких книг в Excel 2016
  14. Вариант 1. Переименовать текущую книгу в Excel 2016 с помощью функции «Сохранить как»
  15. Вариант 2. Переименование одной или нескольких книг в диалоговом окне «Открыть» в Excel 2016
  16. Вариант 3: переименовать одну или несколько книг в Excel 2016 с вкладкой Office
  17. Как присвоить имя файлу excel
  18. Вставить текущее имя файла или путь в ячейку с формулой
  19. Вставить текущее имя файла или путь в верхний / нижний колонтитул с помощью функции верхнего и нижнего колонтитула
  20. Вставить текущее имя файла или путь в ячейку / верхний или нижний колонтитул с помощью Kutools for Excel
  21. Вставить информацию о книге

Вставка в ячейку текущего имени файла 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

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

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

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

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

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

Хочется сделать так чтобы название файла писалось в ячейке автоматом. тогда дата будет истинна. Автор — koyaanisqatsi
Дата добавления — 23.05.2014 в 14:44

Источник

3 варианта переименования одной или нескольких книг в Excel 2016

Если вам нужно переименовать файл книги Excel, вы можете сначала закрыть книгу, затем щелкнуть по ней правой кнопкой мыши и выбрать «Переименовать». Затем имя файла книги выделяется, и вы можете редактировать его. Однако это не единственный способ переименовать книгу Excel. Вы также можете сделать это в Excel. В этом посте я покажу вам три варианта переименования одной или нескольких книг в Excel 2016.

Вариант 1. Переименовать текущую книгу в Excel 2016 с помощью функции «Сохранить как»

1) Откройте книгу в Excel 2016.

2) Щелкните вкладку «Файл» на ленте, чтобы открыть бэкстейдж, а затем выберите параметр «Сохранить как»; щелкните Этот компьютер и выберите одну папку на правой панели.

3) После открытия диалогового окна «Сохранить как» вы увидите, что имя файла книги выделено. Введите новое имя в поле «Имя файла» и нажмите кнопку «Сохранить».

4) Таким образом вы повторно сохраните книгу Excel с новым именем. Вы можете удалить файл книги со старым именем, если хотите.

Вариант 2. Переименование одной или нескольких книг в диалоговом окне «Открыть» в Excel 2016

Шаг 1. Закройте книги, которые вы хотите переименовать, если вы еще не сделали этого.

Шаг 2. Запустите приложение Excel, щелкнув его значок на панели задач Windows.

Шаг 3. После появления первого экрана Excel нажмите «Открыть другие книги» на левой панели.

Шаг 4: Нажмите «Обзор», чтобы открыть диалоговое окно «Открыть».

Шаг 5. После открытия диалогового окна «Открыть» найдите книгу, которую хотите переименовать, щелкните ее правой кнопкой мыши и выберите в контекстном меню параметр «Переименовать». Затем выделяется имя файла книги. Введите новое имя и нажмите Enter, чтобы изменить его.

Шаг 6: Повторите шаг 5, чтобы переименовать другие книги, если вам нужно.

Вариант 3: переименовать одну или несколько книг в Excel 2016 с вкладкой Office

Шаг 1. Установите вкладку Office на свой компьютер.

Шаг 2: Откройте все книги, которые вы хотите переименовать, в Excel 2016.

Шаг 3: Щелкните правой кнопкой мыши вкладку книги и выберите в меню пункт «Переименовать».

Шаг 4: Введите новое имя для файла книги и нажмите OK.

Связанный: 3 способа переименовать один файл в Windows 10

Источник

Как присвоить имя файлу excel

Предположим, вы хотите вставить имя файла или путь к файлу в ячейку, верхний или нижний колонтитул Excel, как бы вы могли быстро выполнить эту операцию?

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

С помощью следующих формул вы можете быстро вставить имя файла, путь или имя листа в заданную ячейку.

Товары Формула Пример
Только имя файла = MID (ЯЧЕЙКА («имя файла»), ПОИСК («[«, ЯЧЕЙКА («имя файла»)) + 1, ПОИСК («]», ЯЧЕЙКА («имя файла»)) — ПОИСК («[«, ЯЧЕЙКА («имя файла «)) — 1) продукты features.xlsx
Только путь к файлу = ЛЕВАЯ (ЯЧЕЙКА («имя файла»; A1); НАЙТИ («[«; ЯЧЕЙКА («имя файла»; A1); 1) -1) C: Users dt Desktop Новая папка
Только активное имя листа = ПРАВО (ЯЧЕЙКА («имя файла»), LEN (ЯЧЕЙКА («имя файла»)) — НАЙТИ («]», ЯЧЕЙКА («имя файла»), 1)) Sheet7
Текущее имя файла, путь к файлу и активное имя листа = ЯЧЕЙКА («имя файла») C: Users dt Desktop Новая папка [products features.xlsx] Sheet7

Ноты:

1. Скопируйте любую формулу выше, которая вам нужна, в указанную ячейку, и вы получите нужный результат.

2. Открытая книга должна быть сохранена.

Вставить текущее имя файла или путь в верхний / нижний колонтитул с помощью функции верхнего и нижнего колонтитула

Если вы хотите вставить имя файла или путь к файлу в верхний или нижний колонтитул рабочего листа, вы можете использовать функцию верхнего и нижнего колонтитула.

1. На ленте щелкните Вставить > Верхний и нижний колонтитулы.

2. В разделе верхнего или нижнего колонтитула будет три поля редактирования, нажмите оставил, центр or Ringht поле, в которое вы хотите вставить имя файла или путь. Тогда под Дизайн вкладку нажмите Путь к файлу, Имя файла or Имя листа что вам нужно вставить. Смотрите скриншот:

Затем щелкните любую ячейку, и вы увидите, что путь к файлу или имя или имя листа были вставлены в верхний или нижний колонтитул. Смотрите скриншоты:

Вставить текущее имя файла или путь в ячейку / верхний или нижний колонтитул с помощью Kutools for Excel

Kutools for ExcelАвтора Вставить информацию о книге это многофункциональный инструмент, он может помочь вам быстро и удобно вставить имя рабочего листа, имя книги, путь к книге или путь и имя книги в ячейки Excel, верхний или нижний колонтитул.

После установки Kutools for Excel, пожалуйста, сделайте, как показано ниже 🙁 Скачать бесплатно Kutools for Excel сейчас!)

1. Нажмите Кутулс Плюс > Рабочие инструменты > Вставить информацию о книге, см. снимок экрана:

2. В Вставить информацию о книге В диалоговом окне выберите информацию о книге, которую вы хотите вставить, на левой панели, а затем выберите место, куда вы хотите вставить информацию. Смотрите скриншот:

3. Затем нажмите OK. Если вы вставите информацию о wotkbook в ячейку, вы получите следующий результат:

Если вы вставляете информацию о книге в верхний или нижний колонтитул, вы можете выбрать место, куда вы хотите вставить информацию, левый, Правильно or Центр. И вы можете предварительно просмотреть верхний или нижний колонтитул из Вид > Макет страницы.

Чтобы узнать больше об этой функции, посетите Вставить информацию о книге.

Вставить информацию о книге

Наконечник.Если вы хотите вставить несколько пустых строк или столбцов в каждую n-ю строку, попробуйте использовать Kutools for Excel’s Вставить пустые строки и столбцы как показано на следующем снимке экрана. Полная функция без ограничений в течение 60 дней, пожалуйста, скачайте и получите бесплатную пробную версию сейчас.

Источник

Adblock
detector

Kutools for Excel, с более чем 300 удобные функции, облегчают вашу работу.

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

Добрый день , а есть функция выводящая имя файла и имя листа в ячейку? Лучше поотдельности.

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

я понимаю  что удф такую можно написать … но мне лучше функцию

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

Там для имени листа …  
=СПРАВА(ЯЧЕЙКА(«имя_файла»),ДЛСТР(ЯЧЕЙКА(«имя_файла»))- МАКС(ЕСЛИ(НЕ(ЕОШ(ПОИСК(«»,ЯЧЕЙКА(«имя_файла»), СТРОКА(1:255)))),ПОИСК(«»,ЯЧЕЙКА(«имя_файла»),СТРОКА(1:255)) у меня она не вводится а потом функции СПРАВА нет по -моему

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

Напишите просто:  
=ЯЧЕЙКА(«имяфайла»)  
А дальше разберетесь, как там отщипнуть.

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

=ПСТР(ЯЧЕЙКА(«имя_файла»),ПОИСК(«[«,ЯЧЕЙКА(«имя_файла»))+1, ПОИСК(«]»,ЯЧЕЙКА(«имя_файла»))-ПОИСК(«[«,ЯЧЕЙКА(«имя_файла»))-1)
эта оттуда же тоже не вводится…

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

=ЯЧЕЙКА(«имяфайла») кстати почему -то тоже не пашет

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

Посмотрите справку по этой функции.  
Может, у Вас аргумент другой нужен.  

  Если Excel новых (2007-2010) версий, наберите =ЯЧЕЙКА(  
и константы сами подсветятся

 

ShAM

Пользователь

Сообщений: 469
Регистрация: 05.01.2013

{quote}{login=Микки}{date=28.03.2012 12:34}{thema=}{post}=ПСТР(ЯЧЕЙКА(«имя_файла»),ПОИСК(«[«,ЯЧЕЙКА(«имя_файла»))+1, ПОИСК(«]»,ЯЧЕЙКА(«имя_файла»))-ПОИСК(«[«,ЯЧЕЙКА(«имя_файла»))-1)
эта оттуда же тоже не вводится…{/post}{/quote}  
Там точно так было, с запятыми и подчеркиванием?  
Попробуйте так.  
=ПСТР(ЯЧЕЙКА(«имяфайла»);ПОИСК(«[«;ЯЧЕЙКА(«имяфайла»))+1; ПОИСК(«]»;ЯЧЕЙКА(«имяфайла»))-ПОИСК(«[«;ЯЧЕЙКА(«имяфайла»))-1)

 

Вот — для возврата имени листа (офис 2010):  
=ПСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»;A1);ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»;A1))+1;255)

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

Миш, универсально, для всех версий, всех локалей, волатильно:  

  Имя книги:    
=ПСТР(ЯЧЕЙКА(«filename»;A1);ПОИСК(«[«;ЯЧЕЙКА(«filename»))+1;НАЙТИ(«.xls»;ЯЧЕЙКА(«filename»))-ПОИСК(«[«;ЯЧЕЙКА(«filename»))-1)

  Имя листа:  
=ПРАВСИМВ(ЯЧЕЙКА(«filename»;A1);ДЛСТР(ЯЧЕЙКА(«filename»))-НАЙТИ(«]»;ЯЧЕЙКА(«filename»)))

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

Спасибо ShAM и гость ..получилось

 

ShAM

Пользователь

Сообщений: 469
Регистрация: 05.01.2013

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

#15

28.03.2012 15:00:09

Спасибо Сереж сохранил (в сердце)

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

koyaanisqatsi

Дата: Пятница, 23.05.2014, 14:44 |
Сообщение № 1

Группа: Проверенные

Ранг: Ветеран

Сообщений: 712


Репутация:

15

±

Замечаний:
0% ±


Excel 2010

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

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

 

Ответить

wild_pig

Дата: Пятница, 23.05.2014, 15:12 |
Сообщение № 2

Группа: Проверенные

Ранг: Обитатель

Сообщений: 516


Репутация:

97

±

Замечаний:
0% ±


2003, 2013

[vba]

Код

[A1] = ThisWorkbook.Name

[/vba]
Это раздел «VBA», а не «Формулы» (если чё).

 

Ответить

igrtsk

Дата: Пятница, 23.05.2014, 15:12 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 307


Репутация:

50

±

Замечаний:
0% ±


Excel 2016

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


Инструктор по применению лосей в кавалерийских частях РККА

 

Ответить

Pelena

Дата: Пятница, 23.05.2014, 16:38 |
Сообщение № 4

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Формулой

Код

=ПСТР(ЯЧЕЙКА(«имяфайла»);ПОИСК(«[«;ЯЧЕЙКА(«имяфайла»))+1;ПОИСК(«.xls»;ЯЧЕЙКА(«имяфайла»))-ПОИСК(«[«;ЯЧЕЙКА(«имяфайла»))-1)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

_Boroda_

Дата: Пятница, 23.05.2014, 18:55 |
Сообщение № 5

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Еще вариант.
Макросов в файле нет, но они должны быть разрешены.
Файл перевложил. Добавил еще несколько вариантов. По сути — одинаковых


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

koyaanisqatsi

Дата: Пятница, 23.05.2014, 22:22 |
Сообщение № 6

Группа: Проверенные

Ранг: Ветеран

Сообщений: 712


Репутация:

15

±

Замечаний:
0% ±


Excel 2010

Pelena, Ваща формула бесподобна ! Она работает ! ))))

 

Ответить

Serge_007

Дата: Пятница, 23.05.2014, 22:29 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Pelena, Ваща формула бесподобна !

Никто в этом не сомневался :) Конечно, но только в русской локали Excel
Что бы работало в любой версии надо заменить «имяфайла» на «filename», а что бы волатильная ЯЧЕЙКА обновлялась, в аргумент «ссылка» надо так же добавить ссылку на любую ячейку листа:

Код

=ПСТР(ЯЧЕЙКА(«filename»;A1);ПОИСК(«[«;ЯЧЕЙКА(«filename»))+1;ПОИСК(«.xls»;ЯЧЕЙКА(«filename»))-ПОИСК(«[«;ЯЧЕЙКА(«filename»))-1)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

_Boroda_

Дата: Пятница, 23.05.2014, 22:53 |
Сообщение № 8

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

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


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Serge_007

Дата: Пятница, 23.05.2014, 22:56 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

в котором находится последняя измененная ячейка!, а вовсе не того, в котором эта формула находится

Саш, для корректной работы надо сохранить файл


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

_Boroda_

Дата: Пятница, 23.05.2014, 22:59 |
Сообщение № 10

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Серег, речь немного не об этом. Речь о том, что ЯЧЕЙКА(«имяфайла») в любом (хоть сохраненном, хоть нет)файле работает так, как я описал выше. А если файл не сохранен, то ЯЧЕЙКА(«имяфайла») просто даст пусто.
Посмотри файл во вложении.
Файл сначала нужно сохранить.
Когда ты на первом листе, то все нормально. Перейди на второй — увидишь картинку с первого. Она показывает вроде тоже все нормально. А теперь введи что угодно в любую ячейку второго листа и посмотри на картинку.
То же самое и с книгами творится.

К сообщению приложен файл:

123132.xlsx
(13.0 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Serge_007

Дата: Пятница, 23.05.2014, 23:03 |
Сообщение № 11

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

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


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

_Boroda_

Дата: Пятница, 23.05.2014, 23:05 |
Сообщение № 12

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

при ссылке на ThisWorkbook

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


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Pelena

Дата: Пятница, 23.05.2014, 23:17 |
Сообщение № 13

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

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


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

ZORRO2005

Дата: Суббота, 24.05.2014, 19:41 |
Сообщение № 14

Группа: Друзья

Ранг: Обитатель

Сообщений: 382


Репутация:

148

±

Замечаний:
0% ±


Excel2010

Да, _Boroda_— молодец! Хорошо подмечено и продемонстрировано.

 

Ответить

Serge_007

Дата: Суббота, 24.05.2014, 22:43 |
Сообщение № 15

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Это ты о чем? О втором аргументе? Так речь о том и идет, что косяк только при отсутствии этого второго аргумента

Вот и я о том же, только другими словами :)

что бы волатильная ЯЧЕЙКА обновлялась, в аргумент «ссылка» надо так же добавить ссылку на любую ячейку листа

Имеется ввиду обновлялась ПРАВИЛЬНО (со ссылкой на текущую книгу, а не на любую)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Alex_ST

Дата: Воскресенье, 25.05.2014, 20:21 |
Сообщение № 16

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3176


Репутация:

604

±

Замечаний:
0% ±


2003

Это раздел «VBA», а не «Формулы»

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



С уважением,
Алексей
MS Excel 2003 — the best!!!

 

Ответить

VictorNNM

Дата: Четверг, 22.12.2016, 11:58 |
Сообщение № 17

Группа: Пользователи

Ранг: Прохожий

Сообщений: 9


Репутация:

0

±

Замечаний:
20% ±


Excel 2013

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

 

Ответить

VictorNNM

Дата: Четверг, 22.12.2016, 12:10 |
Сообщение № 18

Группа: Пользователи

Ранг: Прохожий

Сообщений: 9


Репутация:

0

±

Замечаний:
20% ±


Excel 2013

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

 

Ответить

_Boroda_

Дата: Четверг, 22.12.2016, 12:11 |
Сообщение № 19

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
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

 

Ответить

SLAVICK

Дата: Четверг, 22.12.2016, 12:24 |
Сообщение № 20

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Можно так:
В1:

Код

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЯЧЕЙКА(«имяфайла»;F24);»[«;»]»);»]»;ПОВТОР(» «;99));99;99))

в2:

Код

ЛЕВБ(B1;ПОИСК(«.x»;B1)-1)


Иногда все проще чем кажется с первого взгляда.

 

Ответить

Like this post? Please share to your friends:
  • Инвентаризационная опись основных средств бланк скачать excel
  • Имя файла рисунка в word
  • Инвентаризационная опись нематериальных активов бланк скачать word
  • Имя файла книги excel
  • Инвентаризационная опись инв 1 бланк скачать word