Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在excel工作表中隐藏所有值都小于一个数字的列?_Excel_Excel Formula - Fatal编程技术网

如何在excel工作表中隐藏所有值都小于一个数字的列?

如何在excel工作表中隐藏所有值都小于一个数字的列?,excel,excel-formula,Excel,Excel Formula,我是excel公式的新手。我有一张excel表格,它有100行100列。列的值从0到20不等。如果列的所有值都小于给定的数字,我想隐藏这些列。或者,以不同的方式,我只想显示那些任何值都大于给定数字的列。将下面的代码放入工作簿中的新模块中。如果你不知道如何做到这一点,那么谷歌“如何在我的Excel VBA项目中创建一个新模块” 公共子HideColumnsBasedOnCriteria() 变暗RNG单元作为范围,lngCol作为长度,LNGGROW作为长度,lngThreshold作为长度 将阈

我是excel公式的新手。我有一张excel表格,它有100行100列。列的值从0到20不等。如果列的所有值都小于给定的数字,我想隐藏这些列。或者,以不同的方式,我只想显示那些任何值都大于给定数字的列。

将下面的代码放入工作簿中的新模块中。如果你不知道如何做到这一点,那么谷歌“如何在我的Excel VBA项目中创建一个新模块”

公共子HideColumnsBasedOnCriteria()
变暗RNG单元作为范围,lngCol作为长度,LNGGROW作为长度,lngThreshold作为长度
将阈值设置为布尔值
设置rngCells=选择
lngThreshold=InputBox(“输入阈值金额…”,“阈值金额”,10)
Application.EnableEvents=False
Application.ScreenUpdating=False
使用rngCells
对于lngCol=1到.Columns.Count
bBlowThreshold=True
对于lngRow=1到.Rows.Count
如果.Cells(lngRow,lngCol)>=lngThreshold,则
bBlowThreshold=False
退出
如果结束
下一个
If.Columns(lngCol).Hidden阈值然后
.Columns(lngCol).Hidden=bBelowThreshold
如果结束
下一个
以
Application.ScreenUpdating=True
Application.EnableEvents=True
端接头
。。。然后选择单元格(不是列,而是如下所示的数据范围),然后运行宏

如果你不知道如何运行宏,那么谷歌“如何在Excel中执行宏”。如果你没有开发者标签,谷歌“我如何使开发者标签在Excel中可见”

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

这是没有错误检查等,但它会让你去。如果需要从工作表上的单元格中获取阈值量,这是一个简单的加法


我希望它对您有用。

您所问的是不可能的:Excel公式的结果是一段文本的数字,而不是用于隐藏单元格或单元格范围的命令

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


这里的难点似乎是:如何检查整列的值是否小于一个值?这可以用一个简单的想法来检查:如果每个值的最大值都小于一个特定值,那么每个值都小于一个特定值。这里有一个基于公式的条件格式:只需基于公式
=MAX(F1:F100)VBA是选项吗?否。只有excelVBA(Visual Basic for Applications)是excel的一部分。它允许您在Excel中使用后台代码,但我不知道VBA。幸运的是,如果没有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