Excel VBA Макросы: Многосоставное логическое "И".

Автор Linker, 28 октября 2017, 22:28

Linker

Есть такая конструкция:
Код
       For i = 9 To 75
            If Cells(i, 13) >= Cells(8, 13) And _
               Cells(i, 14) >= Cells(8, 14) And _
               Cells(i, 15) >= Cells(8, 15) And _
               Cells(i, 16) >= Cells(8, 16) And _
               Cells(i, 17) >= Cells(8, 17) And _
               Cells(i, 18) >= Cells(8, 18) And _
               Cells(i, 19) >= Cells(8, 19) And _
               Cells(i, 20) >= Cells(8, 20) And _
               Cells(i, 21) >= Cells(8, 21) And _
               Cells(i, 22) >= Cells(8, 22) And _
               Cells(i, 23) >= Cells(8, 23) And _
               Cells(i, 24) >= Cells(8, 24) And _
               Cells(i, 25) >= Cells(8, 25) And _
               Cells(i, 26) >= Cells(8, 26) And _
               Cells(i, 27) >= Cells(8, 27) And _
               Cells(i, 28) >= Cells(8, 28) And _
               Cells(i, 29) >= Cells(8, 29) Then
               Rows(i).EntireRow.Hidden = False
            End If
        Next i
[свернуть]

Замечательно работает, но хотелось бы привести это дело к более удобному представлению. Можете что-нибудь предложить? Ещё один уровень цикла for тут не подходит, т.к. связка на логическом "И".

Администратор

Макрос
Sub Макрос()
   
    Dim Найдено As Boolean
    Dim i As Long, j As Long
   
    For i = 9 To 75
        Найдено = False
        For j = 13 To 29
            If Cells(i, j) < Cells(8, j) Then
                Найдено = True
                Exit For
            End If
        Next j
        If Найдено = False Then
            Rows(i).EntireRow.Hidden = False
        End If
    Next i
   
End Sub
[свернуть]

Linker