vba - 标准IsLetter /任何文本的VBA自动过滤器
问题描述
我有一列需要作为自由文本子例程的一部分进行过滤。我需要过滤掉所有包含任何类型文本的单元格。我正在使用 vba 代码
With rng
.AutoFilter Field:=1, Criteria:= "cannot find solution - need [A-Za-z]"
.Offset(1, 0).Resize(.Rows.Count - 1).SpecialCells (xlCellTypeVisible).Rows.Delete
代码本身工作正常,我只是无法锻炼如何将标准设置为字母表中的任何字母
有没有办法做到这一点??
感谢您的任何建议。
解决方案
您可以通过 VBA 设置您可以在 Excel 中设置的相同过滤器,因此您应该首先尝试在 Excel 中找到适合您需要的过滤器设置。
找到后,删除过滤器并在再次设置过滤器时录制宏 - 这将向您展示如何使用 VBA 进行设置。
在您的情况下,我设置了一个自定义过滤器:单击该列上的过滤器按钮,选择“数字过滤器”或“文本过滤器”(显示取决于 Excel 猜测该列的主要数据类型),然后选择“自定义过滤器”。
在那里,选择“包含”并输入 a?
作为搜索值。
如果这符合您的需要,这是 VBA 中的代码:
.AutoFilter Field:=1, Criteria1:="=*?*", Operator:=xlAnd
如果这不符合您的需要,因为您的过滤器更加复杂,我唯一的想法是创建一个帮助列,编写一个返回或返回的 UDF,True
或者False
取决于是否要显示该值并过滤该帮助列相反(您可以在该 UDF 中使用正则表达式)。
或者手动循环遍历您的数据并在您的代码中决定哪一行适合 - 但在删除数据时要小心,要么向后循环,要么建立一个联合并一次性删除 - SO上有很多例子。
推荐阅读
- sql - 如何在分组集中获取与最小值和最大值对应的项目的名称到不同的列中
- database - 如何在父表中实现与子表的继承关系
- r - 使用特定公式仅替换 xts 对象列中的 NA 值
- rdf - 允许物化的 RDF 三重存储
- excel - VBA:清除多个不连续的单元格
- python-3.x - 如何避免读取 pandas.read_excel 中的空行
- laravel - 运行作业的用户与网络服务器(apache)用户之间的 Laravel 文件权限不兼容
- c - 未声明的 'yylex' 和 'yyin'
- javascript - 如何从Ruby变量存储在Javascript中的localStorage
- android - 使用导航组件在不同图形之间导航