Функция excel имя книги

 

Юрец

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

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

Здравствуйте,
Как получить имя открытой книги в ячейку формулой желательно без расширения?

 

Sanja

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

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

#2

13.03.2016 22:36:23

Здравствуйте. См. справку по =ЯЧЕЙКА()

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

Изменено: Sanja13.03.2016 22:49:52

Согласие есть продукт при полном непротивлении сторон.

 

Юрец

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

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

Посмотрел справку, подставил = ЯЧЕЙКА(«имяфайла») выдала весь путь.
хотел сказать спасибо, а тут формула, попробовал =песня(!);Спасибо(!)

 

The_Prist

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

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

Профессиональная разработка приложений для MS Office

Небольшой нюанс — лучше указывать ссылку на ячейку в этой книге — иначе будет возвращать путь всегда к активной книге.
Чуть подробнее работу функции ЯЧЕЙКА в данном случае здесь описывал:

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

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Юрец

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

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

Включил запись макроса, сделал пару действий и возник вопрос: А как подтянуть формулу?
Остановил макрос, открыл vba вижу записаный код, понимаю что надо разместить формулу, но как  и где? Что надо сделать?

 

vikttur

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

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

 

kuklp

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

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

E-mail и реквизиты в профиле.

#7

14.03.2016 00:12:44

Так формулой, или ВБА?

Код
Function BookName$()
    BookName = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
End Function

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

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

Контакты см. в профиле

#8

14.03.2016 00:15:12

А так не проще?

Код
ActiveCell = Split(ThisWorkbook.Name, ".")(0)
 

kuklp

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

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

E-mail и реквизиты в профиле.

#9

14.03.2016 01:14:52

Не проще, Юр. В имени может быть сколько угодно точек. Это не ДОС :) Вот кстати, моя лиса так с форума качает: Суточний звіт.xlsm.xls, Щотижневий звіт.xlsm.xls

Изменено: kuklp14.03.2016 01:18:05

Я сам — дурнее всякого примера! …


Имени текущей книги можно получить с помощью функции

ЯЧЕЙКА()

.

Функция

ЯЧЕЙКА()

возвращает

имя текущей книги

(файла) в двух случаях:


  • =ЯЧЕЙКА(«имяфайла»)

    Типичный результат:

    С:XLSПримерыТекст[Переводчик.xlsx]Лист1

  • =ЯЧЕЙКА(«адрес»;Лист2!A1)

    , где второй аргумент – ссылка на ячейку на другом листе. Типичный результат:

    [Переводчик.xlsx]Лист2!$A$1

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

F

9

(Вкладка

Формулы

, Группа

Вычисление

,

Пересчет

).

Если в ячейке

А1

находится одна из вышеуказанных формул, то для нахождения имени книги можно использовать формулу (см.

файл примера

):

=ПСТР(A1;ПОИСК(«[«;A1)+1;ПОИСК(«]»;A1)-ПОИСК(«[«;A1)-1)

Формула предполагает, что название файла заключено в скобках [  ], находит позиции этих символов и извлекает все что между ними.

Если имя файла содержит символы [ и ], то функция

ЯЧЕЙКА()

заменит эти символы на скобки ( ). Поэтому, с помощью этой функции имена файлов

Перево[дчи]к.xlsx и Перево(дчи)к.xlsx

различить нельзя.

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.

Нужна дополнительная помощь?

@liverlarson 

Does Office 365 Excel support VBA?

All versions of Windows desktop Excel from Excel 5 through Excel 2019 support VBA.

This includes the version of Excel installed by Office 365. …

There is no version of Excel Online, iOS Excel or Android Excel that supports VBA.

Nor does any version of Excel that runs on Windows RT support VBA.

In my humble opinion, it would be good to always have the possibility of VBA in Excel.

All new options such as editing PDF and cloud options, in all future versions, will be require VBA.

Unless someone has already adjusted to Java script … which I don’t hope.

What I don’t know is, if you maybe can open from the Developer tab in Visual Basic editor, I don’t have Office 365 yet. You can try it, maybe…maybe it will work.

The sequence is in Excel 2016

     Click File

     Click Options

     Click Customize Ribbon

     Under the list of Main Tabs, select Developer

     Click OK

The Developer tab will now appear on the Ribbon and from it you can open the Visual Basic Editor.

 If opening the Developer tab and clicking a button is a little too much work, you can also open the editor with the keyboard shortcut Alt+F11, which works whether the Developer tab is enabled or not.

As I told you before, with the logic of Excel 2016.

Nikolino

I know I don’t know anything (Socrates)

MulTEx »

21 Август 2014              2759 просмотров

Данная функция является частью надстройки MulTEx


Получение имени книги

Функция возвращает имя книги указанной ячейки. Если ячейка не указана — функция вернет имя книги, в листе которой записана сама функция.

Вызов команды через стандартный диалог:

Мастер функцийКатегория «MulTEx»ИМЯ_КНИГИ

Вызов с панели MulTEx:

Сумма/Поиск/ФункцииПолезностиИМЯ_КНИГИ

Синтаксис:
=ИМЯ_КНИГИ(A1)


Ячейка(A1) — Необязательный аргумент. Ссылка на ячейку листа, имя книги которого необходимо получить. Если не указана — будет вычислено имя книги, в листе которой записана сама функция.

Важно: Функция не вычисляется при изменении имени книги. Для пересчета функции после изменения параметров необходимо выделить ячейку и нажать F2Enter. Либо нажать сочетания клавиш Shift+F9(пересчет функций активного листа) или клавишу F9(пересчет функций всей книги).

Like this post? Please share to your friends:
  • Функция excel для вычисления процентов
  • Функция excel для подсчета дней
  • Функция excel значение по имени
  • Функция excel для вариантов
  • Функция excel для объединения ячеек