Excel:隐藏不包含彩色单元格的所有行和列

时间:2017-03-08 20:11:50

标签: excel vba excel-vba

我想创建一个宏,当激活时,将隐藏所有不具有格式化为特定颜色的单元格的行和行。我改编了一个类似的子列,仅用于含有内容的列,但这是另一个额外的步骤,我的大脑似乎无法在今天早上出现。作为参考,这是我用来隐藏所有没有内容的列:

Sub HideCols()
Dim LC As Integer, j As Integer
Dim LR As Integer, curCnt As Integer
Dim k As Integer
Dim Data As Variant

Application.ScreenUpdating = False

LC = Cells(3, Columns.Count).End(xlToLeft).Column

For j = 3 To LC
    LR = Cells(Rows.Count, j).End(xlUp).Row
    curCnt = 0
    Data = Range(Cells(1, 1), Cells(LR, LC))
    For k = 1 To LR
       If Rows(k).Hidden = False And Data(k, j) <> "" Then _
       curCnt = curCnt + 1
    Next k
    Columns(j).Hidden = curCnt < 2
Next j

Application.ScreenUpdating = True

End Sub

1 个答案:

答案 0 :(得分:1)

以下是隐藏黑色单元格的所有行和列的方法。我相信你可以修改以满足你的需要。

Sub hide_cell()

    Dim Rng As Range
    Dim MyCell As Range
    Set Rng = Range("A2:d10")
    For Each MyCell In Rng
        If MyCell.Interior.ColorIndex = 1 Then
            MyCell.EntireRow.Hidden = True
            MyCell.EntireColumn.Hidden = True
        End If
    Next MyCell
End Sub