Добрый день Нужна ваша помощь Имеется таблица с 2 листами,при заполнение столбца G на первом листе данные автоматически переносятся на второй лист столбец E, и в дальнейшем уже планируется либо скрыть ячейки с отрицательным числом либо отобразить, если на первом листе значение изменится на положительное. Я не особо силен в макросах но читая ветки смог написать короткий код:
[vba]
Код
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
[/vba]
Но столкнулся с проблемой что строки на втором листе не обновляются, т.е. если на первом листе значение ячейки станет положительным, второй лист и соотвественно макрос не обновляет параметры второго листа.
Добрый день Нужна ваша помощь Имеется таблица с 2 листами,при заполнение столбца G на первом листе данные автоматически переносятся на второй лист столбец E, и в дальнейшем уже планируется либо скрыть ячейки с отрицательным числом либо отобразить, если на первом листе значение изменится на положительное. Я не особо силен в макросах но читая ветки смог написать короткий код:
[vba]
Код
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
[/vba]
Но столкнулся с проблемой что строки на втором листе не обновляются, т.е. если на первом листе значение ячейки станет положительным, второй лист и соотвественно макрос не обновляет параметры второго листа.Major_007
Мне подсказали, что следует скорректировать запрос: [vba]
Код
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
[/vba]
Но он почему то показывает ошибку, и так же при смене с отрицательного числа на положительно так второй лист и не обновляется
Мне подсказали, что следует скорректировать запрос: [vba]
Код
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
[/vba]
Но он почему то показывает ошибку, и так же при смене с отрицательного числа на положительно так второй лист и не обновляетсяMajor_007
Сообщение отредактировал Major_007 - Среда, 06.02.2019, 07:45