【问题标题】:Using Autofilter to filter blanks and numeric values使用自动过滤器过滤空白和数值
【发布时间】:2016-06-07 11:24:37
【问题描述】:

在此处输入代码我对 vba 完全陌生,我正在准备一个用于自动化日常活动报告的宏。报告的一部分是根据某些值过滤数据并将其复制到另一个工作簿中。 我被困在这里,需要你的帮助。 x 列有“客户姓名”,但可能有空白字段、日期和 ID 号。

我想出了过滤空白字段,但无法找到如何过滤日期和 ID 号或一般数字。

这是我正在使用的代码:

range("A1").AutoFilter field:=21, Criteria1:=Array(""), Operator:=xlFilterValues

日期可以是 2016 年 5 月 28 日 身份证号码可以是292051102901

我搜索过类似的帖子,但找不到。

如果需要共享其他代码或示例文件才能工作,请告诉我。 Snippet of data

【问题讨论】:

  • 您是否尝试在更改/设置过滤器时录制宏?生成的代码可能会告诉您如何手动操作。这个技巧有时会奏效,但并非总是如此。
  • 也许@Jeeped 在帖子Multiple Filter Criteria for blanks and numbers using wildcard on same field just doesn't work 中的答案可能会帮助您制定解决方案。
  • @pintxo 是的,我尝试了宏录制,但它从单元格中捕获了特定值。我需要这些值的格式,因为这些值会改变。
  • @skkakkar 我浏览了 jeeped 的帖子,老实说我什么都不懂 :( 对不起。据我从那篇帖子中了解到,前 3 位数字是不变的,并且建立了一个字典来捕获它。在我的情况下,这些值是随机日期和序列号,所以我想如果有任何带有数字的值的格式或逻辑,我想是的。
  • @Deepak S 如果您可以上传样本数据的快照(如果它是机密的,您可以输入虚构的数字但保留其真实表示),我会更好地帮助您进行合适的工作您的数据并解释 Jeeped 的帖子。这里是半夜。如果您按照建议做某事,我明天也许可以调查一下。

标签: excel vba


【解决方案1】:

解决方法:
这有助于我避免插入另一列并按目标值对其进行过滤 两个标准。
1. 包含“空白”的单元格将被格式化为特定颜色
2. 包含“0”和“999999999999”之间值的单元格将被格式化为与第一个标准相同的颜色,然后按颜色过滤。
使用宏记录器并获得代码:-

Columns("U:U").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="=0", Formula2:="=999999999999"

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

With Selection.FormatConditions(1).Font
.Bold = True 
.Italic = False 
.ThemeColor = xlThemeColorAccent6 
.TintAndShade = -0.499984740745262 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= "=LEN(TRIM(U1))=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Font 
.Bold = True 
.Italic = False 
.ThemeColor = xlThemeColorAccent6 
.TintAndShade = -0.499984740745262 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
range("U4").Select 
Selection.AutoFilter range("A1").AutoFilter field:=21, Criteria1:=RGB(151, 71, 6), operator:=xlFilterFontColor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    相关资源
    最近更新 更多