excel - Excel vba 过滤表 BodyRange 不正确 SpecialCells
问题描述
我有一个表,我用 vba 命令过滤:
tbl.Range.AutoFilter Field:=11, Criteria1:="=*" & Left(street, 3) & "*", Operator:=xlAnd
这是一个 *contains* 过滤器,BodyRange(目视检查)应该计算 7 行,但是有了这个
tbl.DataBodyRange.SpecialCells(xlCellTypeVisible)
我只检索不到其中的 4 个,它的行为就像 BodyRange.SpecialCells 从过滤器中捕获仅以过滤器值开头的值而不是包含它的值(如果我过滤的列街道是“pilsudzki”“al.pilsudzki”“ al. gen pilsudzki" BodyRange 将跳过所有的 "al. pilsudzki" 等...并且只给我 "pilsudzki" 即以 " pils *" 开头的那个)
为了解决这个问题,我必须改用这个技巧:
Set rnTble = Sheet1.Range("K2:K150000").SpecialCells(xlCellTypeVisible)
For Each cll In rnTble.Cells
Me.ListBox2.AddItem cll.Value
If cll.Value = "" Then Exit For
Next
然后只有这样我才能捕获所有包含“*pils*”的过滤值
任何想法为什么会这样?
解决方案
推荐阅读
- python - svnperms 设置用法
- android - 如何处理 StateFlow 观察者的样板文件
- huggingface-transformers - 设置可训练属性时使用 GPT2 的细微差别
- asp.net - 将数据传递给 Web 服务获取 - 500(内部服务器错误)
- html - 如何禁用 chrome 上的动态 HTML 元素?
- c# - 运行以下 c# 代码时收到“”错误
- layout - extjs layout fit 属性在将布局写为对象时该属性的名称是什么
- jwt - JWT 刷新令牌实践
- c - 用户程序如何固定页面?什么是页面缓冲区?(在一篇关于 get_user_pages 的 LWN 文章中)
- jenkins - 天蓝色的詹金斯我应该使用云门户吗?