Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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_Vba - Fatal编程技术网

Excel 根据筛选器向右隐藏空列

Excel 根据筛选器向右隐藏空列,excel,vba,Excel,Vba,我正在尝试设置一个有很多空单元格和许多列的工作表 基本上,我想过滤一列,并根据过滤后的值,在过滤后的相应行中隐藏具有空白单元格的列 下面我举一个例子。我们将把这张表称为“任务列表”?所以基本上如果我为Eric过滤B列,C列,E列,G列,H列和I列应该是隐藏的。然后取消筛选应该取消隐藏这些列 我对VBA不是很有经验,但它似乎是一个基于VBA的工作表解决方案 谢谢大家。这假设您在过滤数据下面没有数据 首先设置过滤器,然后运行: Sub HideStuff() Dim i As Long

我正在尝试设置一个有很多空单元格和许多列的工作表

基本上,我想过滤一列,并根据过滤后的值,在过滤后的相应行中隐藏具有空白单元格的列

下面我举一个例子。我们将把这张表称为“任务列表”?所以基本上如果我为Eric过滤B列,C列,E列,G列,H列和I列应该是隐藏的。然后取消筛选应该取消隐藏这些列

我对VBA不是很有经验,但它似乎是一个基于VBA的工作表解决方案


谢谢大家。

这假设您在过滤数据下面没有数据

首先设置过滤器,然后运行:

Sub HideStuff()
    Dim i As Long
    Columns.Hidden = False
    For i = 3 To 9
    If Application.WorksheetFunction.Subtotal(3, Columns(i).Cells) = 1 Then
        Columns(i).Hidden = True
    End If
    Next i
End Sub
注意:

我们针对1进行测试,因为唯一可见的数据(在候选列中)应该是标题
这也可以很容易地修改以对事件进行操作