Страницы: 1
RSS
скрыть/отобразить строки по значению в ячейке, Не обновляется страница
 
Добрый день
Нужна ваша помощь
Имеется таблица с 2 листами,при заполнение столбца G на первом листе данные автоматически переносятся на второй лист столбец E, и в дальнейшем уже планируется либо скрыть ячейки с отрицательным числом либо отобразить, если на первом листе значение изменится на положительное. Я не особо силен в макросах но читая ветки смог написать короткий код:
Код
Sub Ig()
Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("E19:E327").Rows
    If WorksheetFunction.CountIf(r, ">0") = 0 Then r.EntireRow.Hidden = True
        If WorksheetFunction.CountIf(r, "<0") Then r.EntireRow.Hidden = False
      
  Next
  Application.ScreenUpdating = True
End Sub

Но столкнулся с проблемой что строки на втором листе не обновляются, т.е. если на первом листе значение ячейки станет положительным, второй лист и соотвественно макрос не обновляет параметры второго листа.

Очень прошу оказать содействие в корректировке кода
Изменено: Major_007 - 06.02.2019 00:06:37
 
Код
Sub Ig()
  Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("E19:E327").Rows
    If Not IsError(r) Then Worksheets(1).Rows(r.Row - 13).Hidden = r > 0
  Next
  Application.ScreenUpdating = True
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Попробовал применить данный макрос, но не чего не изменилось, может не верно использовал данный макрос?
 
а так:
Код
Sub Ig()
  Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("E19:E327").Rows
    If Not IsError(r) Then
      Worksheets(1).Rows(r.Row - 13).Hidden = r < 0
      Rows(r.Row).Hidden = r < 0
    End If
  Next
  Application.ScreenUpdating = True
End Sub
макрос выполняется при открытом листе заявка на снаюжение
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Может так?
 
GRIM, проверил, работает только в тех случаях когда, в первом листе поменять положительно число на отрицательное, тогда ячейки скрываются нормально, но заного так и не отображается на листе 2, если отрицательное число на положительное

Ігор Гончаренко, попробовал, все равно не обновляется страница, первый раз макрос применяется, но потом не обновляется, может сам что не так делаю, в принципе вставляю и запускаю, затем меняю на первом листе значение столбца G
 
Major_007, очень странно( Возможно у Вас есть ограничение в настройках по работе макросами, т.к. у меня все работает и  туда и обратно.
Может формат сменить...
Как в этом файле?
Изменено: GRIM - 05.02.2019 18:31:18
 
Да все верно, проблема в формате, спасибо БОЛЬШОЕ за помощь!!!Все работает.
 
Цитата
GRIM написал:
Sub Ig()  Dim r As Range  Application.ScreenUpdating = False  For Each r In Range("E19:E327").Rows    If Not IsError® Then Worksheets(1).Rows(r.Row - 13).Hidden = r > 0  Next  Application.ScreenUpdating = TrueEnd Sub
А формат чего конкретно может влиять на исполнение макроса?
Страницы: 1
Наверх