我目前正在开发一个电子表格,用于分析从我们使用的在线T卡系统导出的数据。这将以XML格式导出所有数据。 要导入此数据,我使用宏将其全部保存到另一个工作表,并将大多数列转换为值,因为它们都存储为文本。但是我遇到的问题是将日期列中的文本转换为实际日期。我正在使用此代码转换为日期:
With ActiveSheet.UsedRange.Columns("U").Cells
.NumberFormat = "dd/mm/yyyy"
.Value = .Value
End With
虽然这适用于日期大于12的某些日期,但对于12日或更小日期的其他日期,它使用日期作为月份,反之亦然。
例如,使用以下XML条目时:
<TCard>
<Ref>*****</Ref>
<CUSTOMER_NAME>*****</CUSTOMER_NAME>
<ORDER_NUMBER>*****</ORDER_NUMBER>
<ACCOUNT_NUMBER>*****</ACCOUNT_NUMBER>
<ITEM_NUMBER_DELIVERY_AREA>*****</ITEM_NUMBER_DELIVERY_AREA>
<Description>PFC 230 X 90 / 5 @ 12.2</Description>
<Colour>Stock Bar PP</Colour>
<SlotPosition>35</SlotPosition>
<RowTitle></RowTitle>
<AssignedDate>20/02/2017</AssignedDate>
<EndDate />
<AssignedColumnTitle>Monday</AssignedColumnTitle>
<Locked>False</Locked>
<Order_Date>17/02/2017</Order_Date>
<Due_Date>21/02/2017</Due_Date>
<Weight_kg>1972</Weight_kg>
<DrillSaw_Time>-</DrillSaw_Time>
<Blaster_Time>-</Blaster_Time>
<Saw_Time>-</Saw_Time>
</TCard>
当宏运行时,它将为此条目指定日期为20/02/2017,这是正确的,但是在另一个指定日期为2017年3月8日(2017年3月8日)的情况下,宏更改此至2017年8月3日(2017年8月3日)。
不幸的是,我不认为其他建议使用修剪输入的方法可以在每月12日的日期正常工作。
宏是否有办法仅将存储为文本的日期更改为DD / MM / YYYY格式?
如果有一些明显错过的东西,请提前道歉,我只是为这个项目学习了基本的VBA nessacery