如何在Excel工作表中隐藏所有值均小于数字的列?

时间:2019-04-08 08:35:22

标签: excel excel-formula

我是excel公式的新手。我有一个excel表格,可以说100行和100列。列的值在0到20之间。如果列的所有值都小于给定的数字,我想隐藏列。或以其他方式,我只想显示那些值大于给定数字的列。

2 个答案:

答案 0 :(得分:1)

将以下代码放入工作簿中的新模块。如果您不确定该怎么做,那么Google“ 如何在我的Excel VBA项目中创建一个新模块” ...

Public Sub HideColumnsBasedOnCriteria()
    Dim rngCells As Range, lngCol As Long, lngRow As Long, lngThreshold As Long
    Dim bBelowThreshold As Boolean

    Set rngCells = Selection

    lngThreshold = InputBox("Enter a threshold amount ...", "Threshold Amount", 10)

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    With rngCells
        For lngCol = 1 To .Columns.Count
            bBelowThreshold = True

            For lngRow = 1 To .Rows.Count
                If .Cells(lngRow, lngCol) >= lngThreshold Then
                    bBelowThreshold = False
                    Exit For
                End If
            Next

            If .Columns(lngCol).Hidden <> bBelowThreshold Then
                .Columns(lngCol).Hidden = bBelowThreshold
            End If
        Next
    End With

    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

...然后选择您的单元格(不是列,而是如下所示的数据范围),然后运行宏。

enter image description here

如果您不知道如何运行宏,请使用Google“ 如何在Excel中执行宏”。如果您没有开发人员标签,请点击Google“ 如何在Excel中显示开发人员标签”。

具有小于您提供的数字的列将被隐藏。

这没有错误检查之类的方法,但是它可以助您一臂之力。如果您需要从工作表上的一个单元格中获取阈值,那很容易。

我希望它对您有用。

答案 1 :(得分:0)

您要问的是不可能的:Excel公式的结果是一段文本,而不是隐藏一个单元格或一系列单元格的命令。

有一个有趣的事情,那就是条件格式设置:它不允许您隐藏整个列,但是,正如名称所提到的,它可以根据某些条件修改单元格的格式。作为一种格式,您可以选择单元格的背景颜色。

这里最困难的部分似乎是:如何检查整个列的值是否小于一个值?可以使用一个简单的想法进行检查:如果每个值的最大值小于一个特定值,则每个值都小于一个特定值,在此您可以根据公式进行条件格式设置:只需将其基于公式{ {1}},将这种条件格式应用于列=MAX(F1:F100)<=5的每个单元格,并相应地应用背景色。