sorting英文风格date

我有一个macros正在sorting一组列的升序使用A列英文格式的date和时间。 表格中的每项数据select都包含两天。 这很好,工作正常,直到2014年4月30日的月份变化被视为比2014年5月1日更大的值。 在这一点上,2014年1月5日的行被放在最上面,2014年4月30日被sorting到底部,与我想要的相反。

这是sorting的代码片段。

With Range("AA1") .Value = 1 .Copy 'Modified the value conversion section to avoid changing the date to an american format With Range("B1:Z" & WriteToRow - 1) .PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply End With With Range("A1:Z" & WriteToRow - 1) .Sort key1:=Range("A2"), order1:=xlAscending, Header:=xlYes .EntireColumn.AutoFit End With .Value = "" 

有人能帮忙吗? 我曾经想过,我可以添加一个IF语句来表示A2的前2个字符是否为01,然后按降序sorting,但是如果前两个字符是02,则会再次按升序sorting这样当文件正在处理每个月的第一和第二个订单是正确的。 这对我来说似乎有点混乱,所以我想我会看看有没有比我更聪明的人有一个更清洁的解决scheme。

谢谢,7

即使控制面板设置为正确的语言环境或语言,开发人员可能会从完全不同的位置处理来自不同国家的项目。

阅读所有专家的不同意见是很好的。 要通过确定date格式来覆盖OS或Excel Intelligence,最好使用“= Text”命令进行格式化。