Страница: 1 |
Страница: 1 |
Вопрос: Excel. Получить Selection из неактивного листа?
Добавлено: 25.01.09 10:33
Автор вопроса: fAndOrIn
Макрос работает с большим к-вом листов. На каждом из них есть выделенный пользователем диапазон (Range). Как их получить без Worksheet.Activate, а то в глазах рябит от мелькающих листов, а минимизировать или отключать окно не хотелось бы.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #1
Добавлено: 25.01.09 11:05
Dim Rn As Range, WS As Worksheet, I As Long, J As Long
For I = 0 To 9
For Each WS In ThisWorkbook.Worksheets
WS.Activate
Set Rn = Selection
'Работа с выделением
For J = 0 To 9999999: Next J
Next WS
Next I
End Sub
Номер ответа: 2
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #2
Добавлено: 25.01.09 11:11
Блин, не той кнопкой выделил. Ну, думаю, все поняли...
Номер ответа: 3
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #3
Добавлено: 25.01.09 18:59
Ау-у-у! Есть тут хто?
Ведь хранит же где-то ёксель инфу об этом. Может, в каких Hidden Members или ещё где?
Номер ответа: 4
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #4
Добавлено: 25.01.09 19:48
Ну, чё орем по воскресеньям.
Прежде чем искать в Hidden Members стоит поискать в открытых.
Set Rn = WS.UsedRange
Selection - это совсем не обязательно range, а вообще любой выделенный объект относящийся к окну или всему приложению Excel. Set Rn = Selection не корректно.
Номер ответа: 5
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #5
Добавлено: 25.01.09 20:08
Простите, что разбудил!
Но это не то, что хотелось бы.
Попробую еще раз объяснить.
Номер ответа: 6
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #6
Добавлено: 25.01.09 21:17
Sorry, не проснулся.
Как насчет Application.ScreenUpdating = False перед циклом?
Номер ответа: 7
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #7
Добавлено: 25.01.09 21:56
Спасибо! Как вариант в большинстве случаев покатит.
Но! Вкратце общий смысл задачи, когда не очень (покатит).
Из разных подразделений приносят заказы на материалы в виде таблиц,
которые почти везде лепятся своими спецами (переучивать которых себе дороже). Удалось лишь уговорить их выделять нужные данные и таблицу держать на первом листе.
Сделал програмку для сбора всех этих таблиц в один файл, выборки(даже с учетом того, что "XC 25"латынь)="XC25"кириллица)), сложения, сортировки... Короче, общая потребность в этом же файле.
Так вот, хотелось бы заказчику наблюдать за заполнением этой таблицы и все тут! Т.е. не "замораживать" и не мелькать...
А ведь хранит же где то ёксель инфу о выделенных диапазонах.
Номер ответа: 8
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #8
Добавлено: 25.01.09 22:35
заказчик хочет видеть, пусть смотрит:
А где реально хранит, поищем..
Номер ответа: 9
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #9
Добавлено: 25.01.09 22:49
СССПАСИБО!!! Пробовать буду уже на работе! Вырубаюсь...
Номер ответа: 10
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #10
Добавлено: 26.01.09 08:09
Ну вот так. Заказчик этим пунктом доволен! Я тоже...почти! Father, еще раз спасибо!