Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 05.07.2011, 15:59   #1
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 365
По умолчанию Функция выдающая имя Листа

Здравствуйте, уважаемые программисты. Подскажите как создать пользовательскую функцию, которая выдаёт имя листа на котором она располагается. Эта функция не пересчитывается при смене листа и остается прежнее значение
Код:
Function ЛИСТ()

'*******************************************************
' Функция выдаёт имя листа
'*******************************************************

Application.Volatile True

   ЛИСТ = ActiveSheet.Name 'Worksheet.Name - не работает
End Function
Вложения
Тип файла: zip Июль 2011.zip (11.4 Кб, 19 просмотров)
agregator вне форума   Ответить с цитированием
Старый 05.07.2011, 16:41   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

попробуйте так:

Код:
Function ЛИСТ()
   ЛИСТ = ActiveSheet.NameEnd Function
End Function
EugeneS вне форума   Ответить с цитированием
Старый 05.07.2011, 16:45   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,054
По умолчанию

А родная не годится?
Код:
=MID(CELL("filename");(SEARCH("]";CELL("filename");1))+1;300)
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 на форуме   Ответить с цитированием
Старый 05.07.2011, 17:06   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от EugeneS Посмотреть сообщение
попробуйте так:

Код:
Function ЛИСТ()
   ЛИСТ = ActiveSheet.NameEnd Function
End Function
EugeneS, а Вы так пробовали? Я морщил лоб, пытаясь понять, что такое NameEnd:-) а потом еще и Function. И после всей этой красоты End Function.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума   Ответить с цитированием
Старый 05.07.2011, 19:31   #5
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Немножко длинновато, но без макросов)):
Код:
=ПСТР(ЯЧЕЙКА("имяфайла";B2);ПОИСК("[";ЯЧЕЙКА("имяфайла";B2))+1;
ПОИСК("]";ЯЧЕЙКА("имяфайла";B2))-ПОИСК("[";ЯЧЕЙКА("имяфайла";B2))-5)+
ПСТР(ЯЧЕЙКА("имяфайла";B2);ПОИСК("]";ЯЧЕЙКА("имяфайла";B2))+1;2)-1
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума   Ответить с цитированием
Старый 06.07.2011, 05:31   #6
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 365
По умолчанию

Всем спасибо.
Код:
Function ЛИСТ()
   ЛИСТ = ActiveSheet.NameEnd Function
End Function
Не работает
DV68, я делал:
=ДАТАЗНАЧ(ПСТР(ЯЧЕЙКА("имяфайла";A1 );НАЙТИ("[";ЯЧЕЙКА("имяфайла";A1))+1;НАЙТИ(". xls";ЯЧЕЙКА("имяфайла";A1))-НАЙТИ("[";ЯЧЕЙКА("имяфайла";A1))-1))+ПСТР(ЯЧЕЙКА("имяфайла";A1);НАЙТ И("]";ЯЧЕЙКА("имяфайла";A1))+1;2)-1
а оказывается можно без ДАТАЗНАЧ().
agregator вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставить в ячейку имя листа ElenaTro Microsoft Office Excel 7 16.03.2013 10:50
Узнать имя листа, если известно кодовое имя tae1980 Microsoft Office Excel 3 20.03.2011 22:57
Добыть имя листа gregory1b Microsoft Office Excel 4 09.12.2010 11:50
Имя листа в зависимости от ячейки bud-dy Microsoft Office Excel 5 05.02.2010 15:22
Имя листа Sensy Microsoft Office Excel 2 14.12.2009 18:23


14:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.