Подкажите, пжл, как в vba написать цикл, который будет проходить по видимым ячейкам снизу вверх. То есть фильтром выделяем нужный диапазон и по нему запускается цикл. Что то наподобие: [vba]
Код
For each C in Array
[/vba] Но только чтобы цикл был с последней ячейки до первой. Спасибо.
Добрый день,
Подкажите, пжл, как в vba написать цикл, который будет проходить по видимым ячейкам снизу вверх. То есть фильтром выделяем нужный диапазон и по нему запускается цикл. Что то наподобие: [vba]
Код
For each C in Array
[/vba] Но только чтобы цикл был с последней ячейки до первой. Спасибо.Bregra
Сообщение отредактировал Bregra - Пятница, 01.09.2017, 17:33
Sub ttt() Dim i& With ActiveSheet.AutoFilter.Range For i = .Rows.Count To 1 Step -1 If .Cells(i, 1).EntireRow.Hidden = False Then MsgBox .Cells(i, 1).Value Next i End With End Sub
[/vba]
Bregra, привет может как-то так [vba]
Код
Sub ttt() Dim i& With ActiveSheet.AutoFilter.Range For i = .Rows.Count To 1 Step -1 If .Cells(i, 1).EntireRow.Hidden = False Then MsgBox .Cells(i, 1).Value Next i End With End Sub
У меня задача стоит удалить строчки по условию из фильтрованного диапазона. Ваш метод не помогает, он удаляет все строки, а не только из выделенного диапазона.
У меня задача стоит удалить строчки по условию из фильтрованного диапазона. Ваш метод не помогает, он удаляет все строки, а не только из выделенного диапазона.Bregra
А нет, ваш метод работает, только придется перебирать весь диапазон, а это очень долго. Можно ли работать только с выделенным диапазоном?Спасибо.
А нет, ваш метод работает, только придется перебирать весь диапазон, а это очень долго. Можно ли работать только с выделенным диапазоном?Спасибо.Bregra
Sub del() With ActiveSheet.AutoFilter.Range .Offset(1).EntireRow.Select ' .Offset(1).SpecialCells(xlVisible).EntireRow.Select ' костыль для 2007 Selection.Delete End With End Sub
[/vba]
А без цикла котируется? [vba]
Код
Sub del() With ActiveSheet.AutoFilter.Range .Offset(1).EntireRow.Select ' .Offset(1).SpecialCells(xlVisible).EntireRow.Select ' костыль для 2007 Selection.Delete End With End Sub
Задача в фильтре по условию удалять строки, т. е. не все отфильтрованные, а только те, которые подходят по условию. Первое что делается это по одному условию фильтруются данные, а потом в этом диапозоне по второму условию удаляются строки.
Задача в фильтре по условию удалять строки, т. е. не все отфильтрованные, а только те, которые подходят по условию. Первое что делается это по одному условию фильтруются данные, а потом в этом диапозоне по второму условию удаляются строки.Bregra