【问题标题】:VBA filtering on date turns into US format日期的VBA过滤变成美国格式
【发布时间】:2014-06-28 02:26:22
【问题描述】:

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

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

【问题讨论】:

  • 路易莎,您有 5 个问题,只有 1 个问题得到接受。如果您收到一个可接受的答案,您应该接受每个问题的 1 个答案
  • 当人们在这个 cmets 中添加比特时,我提出的很多问题都得到了解答。如果您查看我的 cmets,我已经完成了我所做的。我没有让 cmets 无人回答。

标签: date excel vba


【解决方案1】:

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

【讨论】:

  • 这可能是真的,但从用户的角度来看,VBA 仍然不是结果:如果您使用日期作为参数,它将使用您的语言环境转换为字符串(用户不知道),但期望字符串是美国语言环境。
【解决方案2】:

使用 Excel VBA 自动筛选可能会比较棘手。有些人发现循环遍历要过滤的数组更容易。

有时我发现可以使用日期的数值,尤其是在处理“日期之间”时

Criteria2:= CDbl([datecell])

Criteria2:= CLng(Dateserial(2014,4,25))

请注意,以上必须是“真实日期”,而不是看起来像日期的字符串。即使是一个“字符串日期”也会把事情搞砸。

【讨论】:

    【解决方案3】:

    这似乎是 Excel 的一个错误。过滤器只接受美国格式的日期。使用 DATEVALUE 将文本转换为日期,然后使用 CLNG 将日期转换为数字是有意义的。

    编辑:请参阅此线程以获取解决方法:Filtering between two dates in pivot table using VBA. UK to US date format issue

    【讨论】:

    • 当我在使用双重格式过滤之前完成此操作时,它似乎有效。作为 double 把它变成一个整数。但这一次似乎没有奏效。会尝试你的方式。我有点困惑为什么它被变成一个字符串,因为 excel 中的日期肯定是日期格式而不是文本。
    • 我已经更新了我的代码并用我的新代码更新了原始问题。它提供了一个值,但过滤器不接受一个值(我已经在其他工作表上使用了一个值,但不是这个)。
    猜你喜欢
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 2011-08-21
    • 1970-01-01
    • 2018-03-03
    • 2017-03-30
    相关资源
    最近更新 更多