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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2013, 19:41   #11
Bagir
Пользователь
 
Регистрация: 10.10.2012
Сообщений: 19
По умолчанию

Хотел бы еще привести пример, зачем нужно выделять листы. При отправке на печать, если это сделать для каждого листа, то они уйдут на принтер разными пакетами. А если выделить группу, то одним. То есть для двухсторонников это как бы весьма нужная фишка.
А теперь вот задачка. По ходу работы макрос смотрит на различные условия и определяет нужно ли взять лист для печати. Предположим в этом макросе периодически придется частенько копаться. А теперь вопрос: Как его красиво написать?

ReDim Preserve конечно вариант для создания списка перед выделением, но выглядит нагружено. Гораздо интересней выглядит добавление элемента в коллекцию. Таким образом можно получить коллекцию индексов или имен нужных нам листов, или даже коллекцию самих листов. Но вот беда, а как выделить все листы из коллекции? Sheets(GroupName).Select работает хорошо, но при условии что GroupName это массив а не коллекция.

Конечно можно перегнать коллекцию в массив, но как то это тоже не интересный способ. Есть идейки?
Bagir вне форума Ответить с цитированием
Старый 09.01.2013, 19:56   #12
ikki_pf
Форумчанин
 
Регистрация: 25.02.2012
Сообщений: 166
По умолчанию

элементарно кагбэ
Код:
Sub tt()
  Dim d As New dictionary
  d.Add Sheets(1).Name, 0
  d.Add Sheets(3).Name, 0
  Sheets(d.Keys).Select
End Sub
ikki_pf вне форума Ответить с цитированием
Старый 09.01.2013, 20:24   #13
Bagir
Пользователь
 
Регистрация: 10.10.2012
Сообщений: 19
По умолчанию

Словарь, хм, вот значит как. Ранее как то не пользовался им. Только массивы и коллекции. Сейчас поищу как подключить.
Bagir вне форума Ответить с цитированием
Старый 09.01.2013, 20:33   #14
ikki_pf
Форумчанин
 
Регистрация: 25.02.2012
Сообщений: 166
По умолчанию

можно не подключать в референсах, а использовать позднее связывание
Код:
dim d as object
set d=createobject("scripting.dictionary")
ikki_pf вне форума Ответить с цитированием
Старый 09.01.2013, 20:46   #15
Bagir
Пользователь
 
Регистрация: 10.10.2012
Сообщений: 19
По умолчанию

ikki_pf
Два огромных человеческих спасибо!!! за оба совета!
Словарь оказался весьма интересным объектом. Стоило подружиться с ним пораньше.
Bagir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выделение ячеек в таблице word из VBA excel Святой Дьявол Microsoft Office Excel 5 12.11.2022 00:57
выделение нескольких ячеек в VBA tohdom Microsoft Office Excel 22 27.06.2012 05:48
Строки(группы букв и группы знаков), Pascal Mrs Smith Помощь студентам 1 10.12.2009 16:31
Выделение группы ячеек t0xa Microsoft Office Excel 1 19.09.2009 18:21
выделение листов по условию Bronyk Microsoft Office Excel 5 11.03.2008 19:40