Как одновременно работать с несколькими несмежными строками в Excel - VBA
Формулировка задачи:
Надо одновременно применить скрытие строк к нескольким несмежными строкам. Строк может быть много. Автофильтр и Расширенный фильтр не подходит, т.к. надо анализировать до 15 столбцов одновременно. Хотя может и можно использовать Расширенный фильтр.
Если скрывать по одной строке, то код долго работает. Вот хочу применить скрытие к нескольким строкам одновременно, может быстрее будет.
Использовал:
Здесь:
Range("1:1", "3:3")
- ограничение на количество символов в аргументе("1:1", "3:3")
. Сейчас думаю, как использоватьApplication.Union
. Как сформировать аргумент из 30 диапазонов? Может кроме этих двух инструментов для работы с несколькими несмежными строками есть ещё что-то? При выполнении кода обратил внимание, что в строке состояния пересчитываются формулы. Отключил автоматический пересчёт формул и быстро стало работать. Ещё отключил обновление экрана. Но с использованием Union всё-равно быстрее работает, чем при скрытии каждой строки.Решение задачи: «Как одновременно работать с несколькими несмежными строками в Excel»
textual
Листинг программы
Sub test4() Dim t As Single, i&, c$, a$ t = Timer For i = 1 To 5000 Step 2 a = i & ":" & i & "," If Len(c & a) > 255 Then Range(Left(c, Len(c) - 1)).Delete: c = a Else c = c & a Next Range(Left(c, Len(c) - 1)).Delete Debug.Print Timer - t End Sub