excel:更改高级筛选器中的格式日期
问题描述:
我正在使用高级筛选器在数据库中的日期之间进行搜索。 我把我的标准并排放置,所以我可以一起搜索一个或多个信息。excel:更改高级筛选器中的格式日期
这里是例子:
Sub FiltroAutomatico()
'
' FiltroAutomatico Macro
'
'
Sheets("BASE_TOTAL_ATUAL").Range("A1:J445").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Range("CONSULTA!Criteria"),
CopyToRange:=Range _
("CONSULTA!Extract"), Unique:=False
Range("H25").Select
ActiveWindow.SmallScroll Down:=-15
Range("G3").Select
End Sub
无论如何,问题是,当我搜索类似> 2017年3月3日和< 2017-03-25它没有按我的预期工作。
我觉得这个问题是因为Excel没有正确识别我的日期(我的Excel是用葡萄牙语,日期是dd/mm/yyyy格式)。我测试使用美国的日期,而且它运作完美。
有什么办法可以改变高级过滤器的格式日期,以了解我的标准格式是dd/mm/yyyy而不是mm/dd/yyyy吗?
答
我无法测试这个,但VBA过滤器中的日期一直以美国为中心。我建议你让你的用户以本地格式输入实际的开始和结束日期(但不是在实际的标准范围内)。在标准范围本身中,使用以下公式:
=">" & StartDate
="<" & EndDate
其中,StartDate和EndDate指的是用户输入的日期。 您甚至可以将它放在与上面显示的相同的物理位置,但在其他位置有标准范围。或者你可以让他们在用户表单上输入。
该单元格将显示类似于>49076
的地方,其中数字是从(通常)1/1/1900
以来的天数。但它应该工作。
如果您让他们在其他地方输入日期,请确保LOCK
和PROTECT
条件单元格,以便用户无法删除或更改公式。
现在它完美的工作!我希望我可以直接在我的标准范围内编写,但似乎这是不可能的......只有当我开始使用美国日期。 – paulinhax
@paulinhax你可以直接写,但是你必须写'''>&DATE(year,month,day)''以提供一个明确的值。 –
我明白了。尽管这不是最好的解决方案,但我猜。你的答案能更好地解决问题。 – paulinhax