
다음 공식이 잘 작동합니다만약에각 셀을 반복해서 정의하지만 A열과 B열을 수백 개의 행으로 실행하는 루프가 필요합니다. 나는 시도했지만 맨 아래의 빈 셀에 도달하면 실행되고 중지되는 루프를 작성할 수 없는 것 같습니다. 이는 탭 이름이 다른 여러 스프레드시트에서 실행될 수 있어야 합니다.
현재 작동하는 예: [ 반복되는 하나의 수식을 갖고 싶습니다. ] 루프를 작동시킬 수 없기 때문에 현재 이것을 100줄에 걸쳐 작성했습니다. :-(
Sub Hidelines()
If Range("A1").Value = "No" Then
Rows("1:1").EntireRow.Hidden = True
ElseIf Range("B1").Value = "NEVER" Then
Rows("1:1").EntireRow.Hidden = True
End If
If Range("A2").Value = "No" Then
Rows("2:2").EntireRow.Hidden = True
ElseIf Range("B2").Value = "NEVER" Then
Rows("2:2").EntireRow.Hidden = True
End If
If Range("A3").Value = "No" Then
Range("E3").Select
Rows("3:3").EntireRow.Hidden = True
ElseIf Range("B3").Value = "NEVER" Then
Rows("3:3").EntireRow.Hidden = True
End If
End Sub
답변1
Sub HideRows()
Dim RowCount: RowCount = 1 ' Row you wish to start from
Dim ColIndex: ColIndex = 1 ' Column to look within (A = 1) - Never will be in ColIndex + 1
Do
If (LCase(Cells(RowCount, ColIndex).Value) = "no") Then
Cells(RowCount, ColIndex).EntireRow.Hidden = True
ElseIf (LCase(Cells(RowCount, ColIndex + 1).Value) = "never") Then
Cells(RowCount, ColIndex).EntireRow.Hidden = True
End If
RowCount = RowCount + 1
Loop Until IsEmpty(Cells(RowCount, ColIndex).Value)
End Sub
이것은 열의 빈 셀에 도달할 때까지 각 행 아래로 계속 이동합니다 ColIndex
. 에 대해 동일한 열 No
이나 그 오른쪽에 있는 열을 대소문자를 구분하지 않고 살펴보고 Never
, 그렇다면 행을 숨깁니다.