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

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

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

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

13 янв 2005, 07:00

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

13 янв 2005, 13:45

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

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

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

14 янв 2005, 06:15

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

18 янв 2005, 01:33

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

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

18 янв 2005, 09:10

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

18 янв 2005, 09:37

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

18 янв 2005, 11:55

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

19 мар 2016, 13:51

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

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