提问人:BiGXERO 提问时间:6/12/2012 最后编辑:CommunityBiGXERO 更新时间:6/12/2012 访问量:3472
来自 vba 用户窗体的日期选取器传递的日期,用于对 excel 表格进行排序,格式错误
Date from vba userform datepicker passed used to sort excel table wrong format
问:
当从日期选择器传递日期以对 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 日出来。注意:仅当 day 列小于 12 时,它才会翻转。例如,如果我选择 6 月 24 日作为开始日期,它将保持 6 月 24 日。
任何帮助将不胜感激!
答:
0赞
Siddharth Rout
6/12/2012
#1
试试这个
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
评论