Скрытие / отображение строк в массиве в зависимости от того, является ли весь массив пустым или нулевым в массиве - PullRequest
0 голосов
/ 28 мая 2020

Я думаю, что нашел то, что мне нужно, но не знаю, что мне не хватает. Я получаю код времени выполнения 91 и не могу найти объект, который необходимо определить.

Sub Hide_UnhideBlanks()

Dim ws As Worksheet
Dim primaryarray As Range
Dim crit1 As Range
Dim cell As Range

Set ws = ThisWorkbook.Sheets("Experience Rating Sheet")
Set primaryarray = ws.Range("B10:M137")
Set crit1 = ws.Range("B10:B137,M10:M137")

Application.ScreenUpdating = False

' unhide all rows before we begin
primaryarray.EntireRow.Hidden = False

For Each cell In primaryarray
    If crit1 Is Nothing Or 0 Then cell.EntireRow.Hidden = True
Next cell

Application.ScreenUpdating = True
End Sub

Это делается, если crit1 имеет значение 0 или "", чтобы скрыть все строки внутри primaryarray, которые соответствуют критериям, описанным для crit1

По сути, моя цель состоит в том, чтобы макрос автоматически скрыл всю строку, если строка массива полностью пуста, используя crit1 как определение, пуста ли строка.

1 Ответ

0 голосов
/ 28 мая 2020

Не уверен, что я понимаю, что вы хотите, но это может быть отправной точкой:

Sub Hide_UnhideBlanks()

    Dim ws As Worksheet
    Dim primaryarray As Range
    Dim rw As Range

    Set ws = ThisWorkbook.Sheets("Experience Rating Sheet")
    Set primaryarray = ws.Range("B10:M137")

    Application.ScreenUpdating = False

    ' unhide all rows before we begin
    primaryarray.EntireRow.Hidden = False

    For Each rw In primaryarray.Rows
        'not sure if you want Or/And here?
        rw.EntireRow.Hidden = ( BlankOrZero(rw.Cells(1)) Or _
                                BlankOrZero(rw.Cells(12)) )
    Next rw

    Application.ScreenUpdating = True

End Sub

'is cell empty or zero?
Function BlankOrZero(c As Range)
    BlankOrZero = len(c.value)=0 or c.value=0
End function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...