gpt4 book ai didi

excel - 根据自动过滤条件循环 IF

转载 作者:行者123 更新时间:2023-12-04 20:45:22 27 4
gpt4 key购买 nike

我正在尝试解决一个由于我对 Excel 宏缺乏经验而实际上被卡住的问题。我想建立一个基于自动过滤器选择的 IF 循环;在正反馈的情况下(“磁铁”自动过滤器选择 ),宏应该显示一些以前隐藏的列。

这是我的实际宏,但我在第一个 if 上有问题陈述

Sub Hide()
If ActiveSheet.Range("$B$8:$V$20").AutoFilter Field:=6, Criteria1:="Magnet" Then
Range("I:N").EntireColumn.Hidden = False
Else
Range("I:N").EntireColumn.Hidden = True
End If
End Sub

最佳答案

逻辑:

  • 检查工作表是否有自动过滤器
  • 检查相关字段中的过滤器是否打开
  • 检索条件,然后如果它符合您的要求,显示/隐藏列

  • 尝试这个

    代码
    Sub Sample()
    Dim ws As Worksheet
    Dim af As AutoFilter

    '~~> Change this to the relevant worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
    '~~> Check if there is an Autofilter
    If .AutoFilterMode Then

    '~~> Set your autofilter object
    Set af = .AutoFilter

    '~~> Check if the 6th field is filtered
    If af.Filters(6).On Then
    '~~> Check if the criteria matches.
    If af.Filters(6).Criteria1 = "=Magnet" Then
    .Range("I:N").EntireColumn.Hidden = False
    Else
    .Range("I:N").EntireColumn.Hidden = False
    End If
    End If
    End If
    End With
    End Sub

    ScreensHot

    enter image description here

    关于excel - 根据自动过滤条件循环 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336031/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com