date - VBA 日期过滤变成美国格式

标签 date excel vba

我正在尝试过滤日期。已检查,控制面板知道我在英国。但是当我过滤它时 - 它有问题并且似乎使用美国日期格式而不是英国。当您单击过滤器时,它会根据英国系统正确给出日期/月份。

当我记录代码以查看发生了什么时,出现了以下情况。日期将被定义 - 我只是想弄清楚当我的过滤器不起作用时 VBA 在做什么。

Sub dating()


ActiveSheet.Range("$A$1:$AM$442").AutoFilter Field:=38, Operator:= _
    xlFilterValues, Criteria2:=Array(2, "4/25/2014")
End Sub

我已将代码更新为,但即使列中有该日期的数据,它仍然不会在该日期进行过滤。我可能在这里遗漏了一些明显的东西。

Dim dteInvoices As Date

dteInvoices = Worksheets("front sheet").Range("f14")

Worksheets("trade details").Range("A1").AutoFilter 39, strText
             .Range("A1").AutoFilter 38, CLng(dteInvoices)

感谢http://www.ozgrid.com/VBA/autofilter-vba-dates.htm的帮助我已经设法让它工作了

http://www.ozgrid.com/VBA/autofilter-vba-dates.htm

Range("a1").AutoFilter Field:=38, Criteria1:=">=" & lngDate, _
    Operator:=xlAnd, Criteria2:="<" & lngDate + 1

最佳答案

不是错误。在 VBA 中的任何地方,您都必须遵守美国惯例。哪一个好:否则就必须根据用户设置使用不同的字符串!
我通常使用 Format(MyDate, "\#mm\/dd\/yy\#") 来确定。

关于date - VBA 日期过滤变成美国格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23579995/

相关文章:

excel - 将所有 Excel 工作表设置为定义的缩放级别

vba - Excel VBA 中的定时警报

java - Java 8 API 上是否有一个函数可以计算两个日期(包括两者)之间的天数?

regex - 将包含不同日期格式的数据框列转换为 Date 对象

vba - Excel/VBA 计算字符串中有多少个粗体单词

excel - VBA MACRO为选定单元格右侧的一个单元格着色

mysql - 按年,月和2个日期字段条件分组

r - 使用 ggplot2 绘制日期时遇到问题

vba - Excel VBA脚本清除列中的所有复选框

sql - 在 Excel VBA 中使用 SQL "Group By"函数对数据进行分组