作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决一个由于我对 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
关于excel - 根据自动过滤条件循环 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336031/
我是一名优秀的程序员,十分优秀!