0

datepicker から日付を渡して Excel テーブルをソートすると、どこかでフォーマットが混乱し dd/mm/yyyy mm/dd/yyyy

地域の設定を確認したところ、次のように設定されていますdd/mm/yyy

Sub sortFuel()

With UserForm1
    With .dp_StartDate
        startDate = Format(.Value, "dd/mm/yyyy")
    End With
    With .dp_EndDate
        endDate = Format(.Value, "dd/mm/yyyy")
    End With
End With

MsgBox startDate
MsgBox endDate

With ws
    .ListObjects("Table_DFDBMain_FuelTrans4").Range.AutoFilter Field:= _
    3, Criteria1:=">=" & Format(startDate, "dd/mm/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(endDate, "dd/mm/yyyy")
End With

End Sub

私のテーブルの列はすでに dd/mm/yyyy でソートされていますが、2012 年 5 月 7 日を選択すると、2012 年 7 月 5 日に表示されます。注: 日の列が 12 未満の場合にのみ反転します。たとえば、選択した場合開始日は6月24日ですが、6月24日のままです。

どんな助けでも大歓迎です!

4

1 に答える 1

0

これを試して

Sub sortFuel()
    Dim D1 As Long, D2 As Long

    With UserForm1
        With .dp_StartDate
            startDate = Format(.Value, "dd/mm/yyyy")
        End With
        With .dp_EndDate
            endDate = Format(.Value, "dd/mm/yyyy")
        End With
    End With

    D1 = Val(Format(startDate, "0"))
    D2 = Val(Format(endDate, "0"))

    With ws
        .ListObjects("Table_DFDBMain_FuelTrans4").Range.AutoFilter Field:= _
        3, Criteria1:=">=" & D1, Operator:=xlAnd, Criteria2:="<=" & D2
    End With
End Sub
于 2012-06-12T06:40:13.283 に答える