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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2013, 15:31   #1
a2alex
Пользователь
 
Регистрация: 21.03.2012
Сообщений: 12
По умолчанию Группа листов в книге

Добрый день!!
Столкнулся со следующей задачей:
есть книга с 10-ю листами, из них три ярлычка выбраны (т.е.выбраны 3 листа с помощью клавиши Ctrl).

Задача:
провести операции с этой группой листов.
Другими словами: как в коде VB назвать эту группу листов -
что-то типа ActiveSheetArray...

Спасибо за помощь!
a2alex вне форума Ответить с цитированием
Старый 24.01.2013, 15:41   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

из макроредактора:

Код:
Option Explicit

Sub Макрос1()
'
' Макрос1 Макрос
'

'
    Sheets(Array("Лист1", "Лист2", "Лист3")).Select
    Sheets("Лист1").Activate
End Sub
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 24.01.2013, 16:12   #3
a2alex
Пользователь
 
Регистрация: 21.03.2012
Сообщений: 12
По умолчанию

хм... и что дальше??..
a2alex вне форума Ответить с цитированием
Старый 24.01.2013, 16:32   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
set ActiveSheetArray = Sheets(Array("Лист1", "Лист2", "Лист3"))
вот так обзовите)

з.ы. не забывайте, что это все-равно коллекция листов.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.01.2013, 16:58   #5
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Цитата:
Сообщение от a2alex Посмотреть сообщение
хм... и что дальше??..
а дальше делаете свои операции )
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 24.01.2013, 17:04   #6
a2alex
Пользователь
 
Регистрация: 21.03.2012
Сообщений: 12
По умолчанию

опять же: для этого нужно знать имена выделенных (выделяемых) листов.

но в моем случае они выделялись не программно, а вручную с кнопкой Ctrl.

поэтому гвоздем этой задачи является способ определения ВЫДЕЛЕННОГО листа.

при выделении листа (нескольких листов) меняется какой-то параметр. Какой?
например, что-то типа Sheets("th").Selected.............. ....

я вижу такой цикл
for i = 1 to Sheets.Count
if Sheets(1).Selected = True (например) then 'проверяем параметр "выделенности"
Arr(1) = Sheets(1).Name 'пополняем массив о котором говорил DiemonStar
....

но как добраться к этому параметру?????

Последний раз редактировалось a2alex; 24.01.2013 в 17:13.
a2alex вне форума Ответить с цитированием
Старый 24.01.2013, 18:42   #7
a2alex
Пользователь
 
Регистрация: 21.03.2012
Сообщений: 12
По умолчанию

Разобрался!
Windows(ActiveWorkbook.Name).Select edSheets

это коллекция объектов типа Worksheet, где хранятся все выбранные листы

Всем спасибо за помощь!

Надеюсь, кому-то пригодится моя тема
a2alex вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление листов в книге evdss Microsoft Office Excel 3 28.12.2010 11:55
Запрет удаления листов в книге tae1980 Microsoft Office Excel 2 25.06.2010 00:22
Макрос для всех листов в книге Rok Microsoft Office Excel 5 26.04.2010 08:55
Получить имена всех листов в книге Temnota Microsoft Office Excel 6 26.12.2009 07:36
Удаление листов в книге по определённым условиям inside9 Microsoft Office Excel 2 07.08.2009 13:37