Страницы: 1
RSS
Еще раз о скрывании строк
 
Добрый вечер!
На форуме почти нашел решение проблемы

Rows("20:400")  .Hidden = Range("f3")  .Value = 0

Подскажите как изменить код для условия, чтобы строки скрывались не от значения в конкретной ящейки а от значения в первом столбе (А) каждой строки, а именно при значении "0" в столбце А строка не отображалась?
вариант типа:

If Range("A22")  .Value = 0 Then
Rows("22:22")  .EntireRow.Hidden = True
Else
Rows("22:22")  .EntireRow.Hidden = False
End If

не подходит, так как значительное количество строк.
Edichka
 
Код
Sub wwww()
Application.ScreenUpdating = False
For i = 20 To 400
Cells(i, 1).EntireRow.Hidden = Cells(i, 1) = 0
Next i
'Cells.EntireRow.Hidden = False 'показать все
Application.ScreenUpdating = True
End Sub
 
поищите по форуму удаление строк по условию, скрытие строк по условию. Решений было.... особенно по удалению, а Вам останется Delete заменить на скрытие. ;)
 
Большое Спасибо!!!!
то что надо!
Edichka
 
Пример кода есть здесь:
http://excelvba.ru/code/ConditionalRowsDeleting
 
Такая модификация макроса удаления строк от SAS888 :
Код
Sub Main()
    Dim x As Range, r As Range: Application.ScreenUpdating = False
    Set x = [A:A].Find(0, , , xlWhole)
    If Not x Is Nothing Then
        [A:A].ColumnDifferences(x).EntireRow.Hidden = True
        Set r = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).EntireRow
        Rows.Hidden = False
        r.EntireRow.Hidden = True
    End If
End Sub
Страницы: 1
Читают тему
Наверх