多个Excel日期是可过滤的日期

时间:2015-07-09 18:57:08

标签: excel excel-vba excel-formula vba

寻找一种方法来突出显示或列出可过滤日期的所有列名称(请参阅下面的图片)。我可以有几个excel文件,其中一些日期不是可过滤日期的,我需要能够快速查看那些过时且不可过滤的日期保护技术。我还想创建一个宏按钮并将其添加到excel以便能够执行此操作或添加它(如果它已经存在)。

尝试创建像link这样的现有条件格式。但是在检测到的过滤器类型上没有成功使用列标题。有一个日期。但它没有检测到它的可过滤日期和选项是否太有限。

解决方案我更喜欢成为excel公式的组合,但vba脚本也可以。它也可以是一个高级菜单选项,但我不认为一个存在。可能需要创建自定义菜单按钮。

>可过滤日期:

Date Filterable

>不可过滤日期

Not Date Filterable

谢谢!

1 个答案:

答案 0 :(得分:1)

如果看起来像日期的值列是“可日期过滤的”,那么它们实际上是日期而不是看起来像日期的文本。 Excel将工作表上的这些识别为数字,因此=ISNUMBER(A2)将为TRUE。 =TYPE(A2也将返回1,并将其指定为数字。你可以比这更复杂,但它确实是你应该要求的。在视觉上,真实日期在单元格中是右对齐的(默认情况下),如数字所示。文字是左对齐的。

在VBA中,IsNumeric(Range("A2"))等同于几乎相同的东西,但您也可以选择IsDate(Range("A2")),它会尝试确定该值是否不仅仅是数字,还包含确认它的区域设置信息日期类型值。