Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Здравствуйте, уважаемые программисты. Подскажите как создать пользовательскую функцию, которая выдаёт имя листа на котором она располагается. Эта функция не пересчитывается при смене листа и остается прежнее значение
Код:
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,166
По умолчанию

А родная не годится?
Код:
=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
Сообщений: 369
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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