EXCEL. Как в ячейке вывести название листа?

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
q392
Сообщения: 4
Зарегистрирован: 13 янв 2005, 06:47

Требуется в ячейке рабочего листа вывести название этого листа.
С уважением,
q392.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

открыть VBA (хм... а в русской раскладке получилось МИФ :) )
добавить в открытую книгу новый модуль или использовать существующий
создать функцию типа

Код: Выделить всё

Function SheetName() As String
  SheetName = ActiveSheet.Name
End Function
в ячейке написать =SheetName
q392
Сообщения: 4
Зарегистрирован: 13 янв 2005, 06:47

Спасибо
С уважением,
q392.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

=ПСТР(ЯЧЕЙКА("filename";A1);НАЙТИ("]";ЯЧЕЙКА("filename";A1))+1;65535)

Преимущества этого решения:
1. будет работать при отключенных макросах
2. автоматически пересчитывается при переименовании листа (Vba функция приведенная выше обновится только при пересчете листа, а не сразу же после переименования)
q392
Сообщения: 4
Зарегистрирован: 13 янв 2005, 06:47

=ПСТР(ЯЧЕЙКА("filename";A1);НАЙТИ("]";ЯЧЕЙКА("filename";A1))+1;65535)
Формула дает ошибку #ЗНАЧ!
С уважением,
q392.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

По всей видимости Вы проверяете работу этой формулы в только что созданной и ещё не сохранённой рабочей книге.
До тех пор пока Вы не сохраните свою новую рабочую книгу =ЯЧЕЙКА("имяфайла";A1) будет = "" и следовательно Вы вряд ли получите имя рабочего листа.
q392
Сообщения: 4
Зарегистрирован: 13 янв 2005, 06:47

Спасибо, формула работает.
С уважением,
q392.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

В англоязычной версии эта формула будет выглядеть так:

=MID(CELL("filename";A1);FIND("]";CELL("filename";A1))+1;65535)
Ответить