簡體   English   中英

如果3個單元格為空白,則在Excel中隱藏行

[英]Hide row in Excel if 3 of the cells are blank

我有一個包含A到F列的工作表。我正在尋找要在所有行中運行的程序(是否有辦法只執行活動行?),然后檢查D1&E1&F1是否為空,然后隱藏行(依此類推)。

這是我所擁有的,效果並不理想。

 Sub Celltest2()
 Dim rw As Range, cel As Range
 Dim i As Integer
 Dim celset As Range

 For Each rw In Sheets("Phonelist").Range("D2:F5000").Rows
    For Each cel In rw.Cells
            If Len(cel.Text) = 0 Then
            cel.EntireRow.Hidden = True

            End If
    Next
Next
 End Sub

請嘗試以下代碼:

Sub Celltest2()

Dim rw As Range, cel As Range
Dim i As Integer
Dim celset As Range
Dim LastRow As Long


With Sheets("Phonelist")
    ' find last row with data in Columns "D, "E" and "F" >> modify to your needs
    LastRow = WorksheetFunction.Max(.Cells(.Rows.Count, "D").End(xlUp).Row, _
                                    .Cells(.Rows.Count, "E").End(xlUp).Row, _
                                    .Cells(.Rows.Count, "F").End(xlUp).Row)

    For Each rw In .Range("D2:F" & LastRow).Rows
        If WorksheetFunction.CountA(Range("D" & rw.Row & ":F" & rw.Row)) = 0 Then
            rw.EntireRow.Hidden = True
        End If
    Next rw
End With

End Sub

選項2 :您可以將以下循環( For Each rw In .Range("D2:F" & LastRow).Rows的循環)替換為以下循環:

For i = 2 To LastRow
    If WorksheetFunction.CountA(Range("D" & i & ":P" & i)) = 0 Then
        Rows(i).EntireRow.Hidden = True
    End If
Next i

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM