VBA宏中的高级过滤器问题:带有日期格式等数据的文本列

Problem with Advanced Filter in VBA macro: text column with data like date format

提问人:Javier M 提问时间:11/17/2023 最后编辑:JohnMJavier M 更新时间:11/20/2023 访问量:106

问:

我有一个动态表,其中一列格式为“文本”,其中包含:

ID
575/23
100/268
45/20
05/19
4574/89
07/23
04/2021

请注意,其中许多日期与日期相似:“05/19”、“07/23”和“04/2021”。

如果我应用高级过滤器(在其他表中具有相同的命名字段),我会正确获得所有数据,但是如果我通过记录宏并将其分配给表单按钮来执行相同的操作,则当我单击该按钮时,它不会获得某些可以解释为日期的值。

生成的宏代码为:

    Range("the_data").AdvancedFilter _
        Action:=xlFilterCopy, _
        CriteriaRange:=Range("the_filter"), _
        CopyToRange:=Range("the_result"), _
        Unique:=False

它没有获得“05/19”和“07/23”值(我想它们被解释为日期,但该字段在两个表中都是文本格式)......但它正确返回“04/2021”......

我希望有人能帮忙,我花了很多时间!

Excel VBA

评论

1赞 BigBen 11/17/2023
请注意,格式和基础值是分开的。日期是格式化的数字。和 之间可能存在不匹配,其中一个具有日期,而另一个具有看起来像日期的文本。Range("the_data")Range("the_filter")
0赞 Javier M 11/17/2023
不,我已经检查过了:每个表格列中的所有单元格都格式化为文本。正如我所说,过滤器在手动执行时正确应用,但在调用宏时则不然。
0赞 BigBen 11/17/2023
嗯,我也许可以复制,进一步调查。
1赞 rotabor 11/17/2023
请提供标准范围
0赞 Javier M 11/17/2023
感谢@rotabor和BigBen!Sheet1 (A1:A8 - “数据”,其中包含我在第一条消息中输入的数据)。Sheet2 (A1:A8 - 具有相同数据的“过滤器”)。Sheet3 (A1 - '结果') :在转到“数据>高级”之前选择此工作表,以便将结果放在这里(通过记录宏)而不是在 sheet2 中。PD:对不起,我放了两个空格,但没有插入换行符。

答: 暂无答案