Excel VBA将dd / mm / yyyy读取为mm / dd / yyyy-枢轴

时间:2019-01-31 12:04:34

标签: excel vba pivot

我正在使用 PivotItems值变量例如

通读数据透视表中的日期列表
For Each Pi In pf.PivotItems
  If IsDate(Pi.Value) Then
      If format(Pi.Value, "dd/mm/yyyy") >= Invoice_Start_Date And format(Pi.Value, "dd/mm/yyyy") <= Invoice_End_Date Then
            Pi.Visible = True
      Else
            Pi.Visible = False
      End If
  Else
    Pi.Visible = False
  End If
Next

我正在尝试检查该值是否在2个日期之间,但是由于某些原因excel / vba读取的数据透视表字段的内容为 mm / dd / yyyy 而不是 dd / mm / yyyy 。单元格的格式设置为 dd / mm / yyyy

我不明白为什么要轮到它了?

谢谢 克雷格。

2 个答案:

答案 0 :(得分:1)

对不起,无法发表评论。试试CDbl(CDate(dateValue)) 鉴于Excel知道输入是日期,并且能够使用CDate进行转换,则可以转换CDbl。否则,您将尝试转换字符串

此外:请检查Pi.Value的类型。看来Excel认为您那里没有日期。否则,您不会收到“类型不匹配”

答案 1 :(得分:0)

日期时间格式通常取决于当地语言/地区。 我会检查您的语言,然后进行更改。