Имени текущей книги можно получить с помощью функции
ЯЧЕЙКА()
.
Функция
ЯЧЕЙКА()
возвращает
имя текущей книги
(файла) в двух случаях:
=ЯЧЕЙКА(«имяфайла»)
Типичный результат:
С:XLSПримерыТекст[Переводчик.xlsx]Лист1
=ЯЧЕЙКА(«адрес»;Лист2!A1)
, где второй аргумент – ссылка на ячейку на другом листе. Типичный результат:
[Переводчик.xlsx]Лист2!$A$1
Если формула вводится в новую книгу, то ее сначала нужно сохранить. После сохранения, возможно, потребуется нажать клавишу
F
9
(Вкладка
Формулы
, Группа
Вычисление
,
Пересчет
).
Если в ячейке
А1
находится одна из вышеуказанных формул, то для нахождения имени книги можно использовать формулу (см.
файл примера
):
=ПСТР(A1;ПОИСК(«[«;A1)+1;ПОИСК(«]»;A1)-ПОИСК(«[«;A1)-1)
Формула предполагает, что название файла заключено в скобках [ ], находит позиции этих символов и извлекает все что между ними.
Если имя файла содержит символы [ и ], то функция
ЯЧЕЙКА()
заменит эти символы на скобки ( ). Поэтому, с помощью этой функции имена файлов
Перево[дчи]к.xlsx и Перево(дчи)к.xlsx
различить нельзя.
Юрец Пользователь Сообщений: 63 |
Здравствуйте, |
Sanja Пользователь Сообщений: 14838 |
#2 13.03.2016 22:36:23 Здравствуйте. См. справку по =ЯЧЕЙКА()
Изменено: Sanja — 13.03.2016 22:49:52 Согласие есть продукт при полном непротивлении сторон. |
||
Юрец Пользователь Сообщений: 63 |
Посмотрел справку, подставил = ЯЧЕЙКА(«имяфайла») выдала весь путь. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
Небольшой нюанс — лучше указывать ссылку на ячейку в этой книге — иначе будет возвращать путь всегда к активной книге. Как получить имя листа формулой Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Юрец Пользователь Сообщений: 63 |
Включил запись макроса, сделал пару действий и возник вопрос: А как подтянуть формулу? |
vikttur Пользователь Сообщений: 47199 |
|
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#7 14.03.2016 00:12:44 Так формулой, или ВБА?
Я сам — дурнее всякого примера! … |
||
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
#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 Я сам — дурнее всякого примера! … |
При использовании Microsoft Excel для некоторых целей может потребоваться получить имя книги и вставить имя файла в ячейку. В этой статье мы покажем вам способы получения текущего имени книги в Excel с подробностями.
Получить текущее имя книги с помощью определяемой пользователем функции
Легко получить текущее имя книги с помощью Kutools for Excel
Получить текущее имя книги с помощью определяемой пользователем функции
Вы можете получить текущее имя книги с помощью определяемой пользователем функции следующим образом.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Приложение Microsoft Visual Basic окно.
2. в Приложение Microsoft Visual Basic окна, нажмите Вставить > Модули.
3. Скопируйте следующий код в Модули окно.
Код VBA: получить имя книги
Function GetBook() As String
GetBook = ActiveWorkbook.Name
End Function
4. Нажмите другой + Q ключи, чтобы закрыть Приложение Microsoft Visual Basic окно и вернитесь в книгу.
5. Выберите пустую ячейку, введите = GetBook () в ячейку, затем нажмите Enter ключ. Вы можете видеть, что имя книги заполнено в выбранной ячейке.
Легко получить текущее имя книги с помощью Kutools for Excel
Для Вставить информацию о книге полезности Kutools for Excel, вы можете легко получить имя книги, вставив имя книги в выбранную ячейку, верхний или нижний колонтитул страницы. Пожалуйста, сделайте следующее.
1. Нажмите Кутулс Плюс > Workbook > Вставить информацию о книге. Смотрите скриншот:
2. в Вставить информацию о книге диалоговое окно, выберите Название книги вариант в Информация и выберите Диапазон возможность выбрать ячейку, в которую вы хотите поместить результат в Вставить в раздел, а затем щелкните OK кнопка. Смотрите скриншот:
Теперь имя книги сразу вставляется в выбранную ячейку.
Внимание: Вы также можете вставить название книги в верхний или нижний колонтитул по своему усмотрению.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (2)
Оценок пока нет. Оцените первым!
GreyW 14 / 14 / 7 Регистрация: 21.06.2013 Сообщений: 160 Записей в блоге: 1 |
||||
1 |
||||
Excel Как узнать имя книги созданной при первом копировании листа?16.09.2018, 13:50. Показов 2417. Ответов 6 Метки нет (Все метки)
Здравствуйте! Подскажите пожалуйста как узнать имя книги созданной при первом копировании листа?
0 |
4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
|
16.09.2018, 14:06 |
2 |
РешениеИмя не нужно, т.к. если копирование прошло успешно, созданная книга это ActiveWorkbook
1 |
GreyW 14 / 14 / 7 Регистрация: 21.06.2013 Сообщений: 160 Записей в блоге: 1 |
||||
16.09.2018, 15:57 [ТС] |
3 |
|||
Имя не нужно, т.к. если копирование прошло успешно, созданная книга это ActiveWorkbook Спасибо. Вы мне очень помогли.
0 |
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
16.09.2018, 16:41 |
4 |
|||
Не знаю зачем Вам две копии одного и того же листа, но одно ясно, можно проще
1 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
16.09.2018, 23:29 |
5 |
|||
GreyW, если в книге «Акт шаблон.xlsx» только один лист, который нужен в данном случае, то можно использовать эту книгу собсно как шаблон — потом не придется ее закрывать
1 |
14 / 14 / 7 Регистрация: 21.06.2013 Сообщений: 160 Записей в блоге: 1 |
|
17.09.2018, 00:35 [ТС] |
6 |
Спасибо за вашу помощь!
Не знаю зачем Вам две копии одного и того же листа, но одно ясно, можно проще Смысл таков: есть таблица с данными, в которой несколько столбцов и штук так «цать» строк. Да ещё всё это с фильтрами и скрытыми столбцами.
GreyW, если в книге «Акт шаблон.xlsx» только один лист, который нужен в данном случае, то можно использовать эту книгу собсно как шаблон — потом не придется ее закрывать Согласен. У меня была такая мысль. Но это потом, когда главное сделаю и оптимизировать буду.
0 |
4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
|
17.09.2018, 07:29 |
7 |
Если использование шаблона допустимо, то можно просто в книге «Акт шаблон.xltx» (.xlt) изначально создать нужное количество листов, а затем создавать новую книгу на основе имеющегося шаблона.
0 |
I just wanted to ask how I get the name and path of the actual opened Workbook with VBA?
I tried it as captured in the snippet below but keep getting a compiler error.
My document-type is .docm
.
What am I doing wrong?
My code snippet:
Sub TestFileOpened()
Dim strPath As String, strPathAndName As String
strPath = Application.ThisWorkbook.Path
strPathAndName = strPath & Application.ThisWorkbook.Name
MsgBox strPathAndName
' Test to see if the file is open.
If IsFileOpen(strPathAndName) Then ....
Cœur
36.7k25 gold badges191 silver badges259 bronze badges
asked Jan 17, 2017 at 9:11
2
Apparently, you are trying to use some Excel code from Word, so first you need to get a hold on Excel App :
Dim oExcel as Excel.Application
Dim wB as Excel.WorkBook
Dim strPath As String
Dim strPathAndName As String
On Error Resume Next
Set oExcel = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set oExcel = CreateObject("Excel.Application")
End If
On Error GoTo 0
Set wB = oExcel.Workbooks(1)
strPath = wB.Path
strPathAndName = strPath & "" & wB.Name
MsgBox strPathAndName
' Test to see if the file is open.
If IsFileOpen(strPathAndName) Then ....
answered Jan 17, 2017 at 9:27
R3uKR3uK
14.4k7 gold badges43 silver badges77 bronze badges
Assuming that you want the location of the open word document, try the below:
Sub TestFileOpened()
Dim strPath As String, strPathAndName As String
strPath = ThisDocument.Path
strPathAndName = strPath & "" & ThisDocument.Name
MsgBox strPathAndName
' Test to see if the file is open.
If IsFileOpen(strPathAndName) Then ....
(Note not to forget to add the backslash between file path and name)
answered Jan 17, 2017 at 9:39
PrestonPreston
7,0517 gold badges52 silver badges81 bronze badges
3