在这里输入代码我对vba是全新的,我正在准备一个用于自动化日常活动报告的宏。报告的一部分是基于某些值过滤数据并将其复制到另一个工作簿中。 我被困在这里,需要你的帮助。 第x列有"客户名称",但可能有空白字段,日期和ID号。
我想出了过滤空白字段但无法找到如何过滤日期和身份证号码或一般数字。
这是我使用的代码:
range("A1").AutoFilter field:=21, Criteria1:=Array(""), Operator:=xlFilterValues
日期可以是2016年5月28日 身份证号码可以是292051102901
我搜索了类似的帖子但找不到它。
如果需要共享其他代码或使用示例文件,请告知我们。 Snippet of data
答案 0 :(得分:0)
解决方法:
这有助于我避免插入另一列并按目标值过滤它。两个标准
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