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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2010, 21:12   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию Идентификация листов

Есть книга, с большим количеством листов. Все листы можно сгруппировать в ряд видов (даже не знаю как это назвать):
* данные на объект
* договор 1
* договор 2
* межевой план 1
* межевой план 2
* и т.п. и т.д.
Хочется одновременно видимыми только листы одного вида. На данный момент это делаю путем добавления в начале названия листа индекса. Например:
* ДГхх - договор (ДГ01 Договор/ДГ01 Акт выполненых работ)
* МПхх - Межевой план (МП01 таб.1/МП01 табл.2/МП01 Акт согласования границ)
* СРхх - Схема расположения
* и т.п.
Где хх - порядковый номер вида одно видовых документов. (на один объект может быть сформировано по несколько договоров и иных пакетов документов).
Все работает, но не очень эстетично.
Можно то же сделать иными средствами?
С уважением, Алексей.

Последний раз редактировалось tae1980; 08.07.2010 в 21:38.
tae1980 вне форума Ответить с цитированием
Старый 08.07.2010, 21:36   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

"Индификация" - это, конечно, интересно Идентификация?
Можно в макросе анализировать лист на наличие каких-то признаков, свойственных только листам данного вида. Или тоже как-то отталкиваться от названия, прописав либо фикс. массив листов, либо правила обработки названия в случае их динамического создания, и на основе этого делать скрытие.
motorway вне форума Ответить с цитированием
Старый 08.07.2010, 21:42   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
"Индификация" - это, конечно, интересно Идентификация?
Исправил.
Цитата:
Сообщение от motorway Посмотреть сообщение
Можно в макросе анализировать лист на наличие каких-то признаков, свойственных только листам данного вида. Или тоже как-то отталкиваться от названия, прописав либо фикс. массив листов, либо правила обработки названия в случае их динамического создания, и на основе этого делать скрытие.
Хотел использовать кодовые имена листов, но они не доступны для макросов расположеных в других книгах.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 08.07.2010, 21:58   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Еще вариант - присваивать цвет ярлычкам листов, а затем фильтровать по ним. Также можно сохранять какую-то информацию о листах в текстовый файл.
motorway вне форума Ответить с цитированием
Старый 08.07.2010, 22:53   #5
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Еще вариант - присваивать цвет ярлычкам листов, а затем фильтровать по ним. Также можно сохранять какую-то информацию о листах в текстовый файл.
Цветом - точно не хватит. :)
Текстовый файл - выход, но это дополнительныя структура - а значит потенциальное место сбоя.
Я думал у листов могут быть дополнительные скрытый "поля" в которых можно хранить данные для идентификации. Но в этом случае появляется проблема листов с одним именем.
Похоже иного решения нет. :((
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 08.07.2010, 23:43   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Создать листы с одинаковыми названиями не получится в любом случае.
В принципе, можно хранить данные о листе в примечании к к-н. ячейке на нем.
А цветов много, у вас типов листов тоже много так?
motorway вне форума Ответить с цитированием
Старый 09.07.2010, 00:17   #7
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

как альтернатива примечанию на каждом листе - для каждого листа создать имя (для каждого одно и то же, напр., Tag) уровня листа, которое будет хранить информацию о принадлежности листа к тому или иному виду, а потом что-нибудь в этом духе:
Код:
Sub ddd()
   For Each sh In Worksheets
      For Each n In sh.Names
         MsgBox n.Name, , n
      Next
   Next
End Sub
Изображения
Тип файла: jpg Безымянный.jpg (73.9 Кб, 90 просмотров)
аналитика вне форума Ответить с цитированием
Старый 09.07.2010, 08:10   #8
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Создать листы с одинаковыми названиями не получится в любом случае.
В принципе, можно хранить данные о листе в примечании к к-н. ячейке на нем.
А цветов много, у вас типов листов тоже много так?
Типов пока только четыре, но это не предел. Но документы одного типа могут встречаться несколько раз, то есть может быть два и более договора и т.п. При чем я не знаю "карту листов", и каждый раз просматриваю все листы. Такой подход требует непрерывную нумерацию (МП01, МП02, МП03 и т.п.). Что создает преблемы при удалении пакета готовых листов. Скажем при удалении МП02, придется переименовывать МП03 в МП02. С точки зрения программы проблема не особо острая, а вот у пользователя данная операция может вызывать путаницу (вроде удалил МП02, а пропал МП03). Это одна из причин почему я пытаюсь найти иные пути решения. От номерации пакетов листов пока не уйти, т.к. номер текущего пакета листов задется пользователем путем выбора его названия в специально созданом меню. А номер пакета я определеяю через порядковый номер выбраного пункта меню.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение 2 листов hloppel Microsoft Office Excel 22 12.05.2010 16:38
Скрытие листов. frozzy_16 Microsoft Office Excel 7 18.03.2010 17:57
Расчет из 3 листов maksvas Microsoft Office Excel 6 18.11.2009 10:11
Поиск листов gavrylyuk Microsoft Office Excel 9 26.06.2009 16:23
сортировка листов cheshiki1 Microsoft Office Excel 2 29.05.2009 17:48