Datumformatet är inte rätt när du konverterar en CSV-textfil i Excel med hjälp av ett VBA-makro

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Symptom

När du använder ett Microsoft Visual Basic for Applications-makro (VBA) för att konvertera en Comma-Separated Values (CSV)-textfil till en Microsoft Office Excel-arbetsbok (*.xls) kanske inte formatet på datumen som konverteras till Excel-arbetsboken är rätt.

I CSV-filen kan till exempel datum vara i följande format:

dd/mm/yyyy

När du kör följande makro för att konvertera CSV-textfilen till Excel

Sub test()

Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
      TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4)

End Sub

datum kan konverteras i följande format:

mm/dd/yyyy

Lösning

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov. Du kan lösa problemet genom att lägga till parametern local:=true i VBA-makrot som i följande exempel:

Sub test()

Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
      TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4), Local:=True

End Sub