Страницы: 1
RSS
Скрыть строки при условии.
 
Уважаемые Эксель-сансеи помогите написать макрос при срабатывании которого будут скрываться строки: при условии, что значение ячейки в 17-ом столбце = значению в 23-м столбце в строке. И так во всех строках таблицы.

Есть вот такой макрос, но он работает при конкретном значении, а на ячейку сослаться не получается у меня
Код
Sub Hide_нерабочие_поз()    Dim cell As Range
    Application.ScreenUpdating = False                              'отключаем обновление экрана для ускорения
    For Each cell In ActiveSheet.UsedRange.Columns(17).Cells         'проходим по всем ячейкам Н-ной строки
        If cell.Value = "надо сослаться на значение ячейки в столбце 23 в проверяемой строке" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
    Next
    Application.ScreenUpdating = True
End Sub
Изменено: Гравитон - 20.03.2015 13:47:52
 
Гравитон, так?
Код
If cell.Value = Cells(Cell.Row, 23).Value
Учусь программировать :)
 
Не вижу Вашего UsedRange... Может так?
Код
If cell.Value = cell.Offset(0, 6) Then cell.EntireRow.Hidden = True



 
я не очень знаю VBA, что значит ?
Код
cell.Offset(0, 6) 
 
Это означает ячейку, находящуюся на той же строке (0), но смещённую на 6 столбцов вправо.
 
Код
Sub Hide_нерабочие_поз()
Dim i As Long
Dim iLR As Long
Application.ScreenUpdating = False 'отключаем обновление экрана для ускорения
    iLR = Cells(Rows.Count, 17).End(xlUp).Row
    For i = iLR To 1 Step -1
        If Cells(i, 17) = Cells(i, 23) Then Rows(i).EntireRow.Hidden = True
    Next
Application.ScreenUpdating = True
End Sub
 
А зачем снизу вверх?
 
Привык так делать для удаления строк.
 
)) Для скрытия можно и сверху вниз.
 
Код
cell.EntireRow.Hidden =  cell.Value = cell.Offset(0, 6).value

или
Код
cell.EntireRow.Hidden =  cell.Value = cell(1, 7).value
Изменено: KuklP - 20.03.2015 13:54:58
Я сам - дурнее всякого примера! ...
 
KuklP
Рад видеть твой ник на просторах Планеты!
 
спасибо все работает!!
для общего развития:
а как сверху вниз сделать?
 
Kuzmich, спасибо. :)
Я сам - дурнее всякого примера! ...
 
Цитата
Гравитон написал:
а как сверху вниз сделать?
Для варианта Кузьмича:
Код
For i = 1 To iLR 

 
СПАСИБО за помощь дорогие Вы мои люди  :)
Страницы: 1
Наверх