作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到当自动筛选器已打开时我的 VBA 脚本无法工作。知道这是为什么吗?
wbk.Activate
Set Criteria = Sheets("Sheet1").Cells(i, 1)
Set rng = Sheets("Sheet1").Range(Cells(i, 2), Cells(i, 4))
wb.Activate
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData 'remove autofilter, but it crashes on this line
Selection.AutoFilter
Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=Criteria.Value
rng.Copy
Range("$BC$2:$BE$204").SpecialCells(xlCellTypeVisible).PasteSpecial
非常感谢
最佳答案
如果启用,AutoFilterMode 将为 True,无论是否确实有过滤器应用于特定列。发生这种情况时,ActiveSheet.ShowAllData
仍将运行,并抛出错误(因为没有实际的过滤)。
我遇到了同样的问题并让它工作
If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
当没有应用实际过滤器但打开了 AutoFilterMode 时,这似乎会阻止 ShowAllData 运行。
第二个捕获Or ActiveSheet.FilterMode
应该捕获高级过滤器
关于excel - Worksheet 类的 ShowAllData 方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18226045/
我注意到当自动筛选器已打开时我的 VBA 脚本无法工作。知道这是为什么吗? wbk.Activate Set Criteria = Sheets("Sheet1").Cells(i,
我已将正确的记录输入自动输入到用作数据库的表中,当过滤表时,输入不起作用。 所以我有这个代码来在每个记录输入之前取消过滤数据库。 Public Sub UnFilter_DB() Dim Active
我在输入的 Excel 工作表上应用了一些过滤器,因此我决定使用 vb.net 中的 showAllData() 方法删除它们。 MSDN 引用:http://msdn.microsoft.com/e
我是一名优秀的程序员,十分优秀!