日付が入力され、オーストラリアの日付形式でフォーマットされた列Dを持つCSVファイルがあります。しかし、VLSは、CVSファイルがXLSXとして保存されたときに日付形式を変更します
value = 4/10/2016, format = 4/10/2016 (as dd/mm/yyyy)
value = 15/03/2017, format = 15/03/2017 (as dd/mm/yyyy)
:それは正しく日付を保存し手動 XLSXとして、私はこのファイルを保存すると、私はXLSXファイルを再度開くときに、日付が正しく表示され
4/10/2016 (correctly representing 4 Oct 16)
15/03/2017 (correctly representing 15 Mar 17)
:残りのデータは整数であります私はプログラム的に同じことを行うとき:
fileNameXLSX = "H:\20160930.xlsb"
fileNameCSV = "H:\20160930.csv"
Set srcBook = Application.Workbooks.Open(filenameCSV, ReadOnly:=True)
Application.DisplayAlerts = False
srcBook.SaveAs filename:=fileNameXLSX, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
srcBook.Close False
Set srcBook = Nothing
Application.DisplayAlerts = True
をして、ファイルを開いて、いくつかのエントリ、月/日付がスワップされ、そのXLSXファイルでそれらを取得します値は次のようになります。
value = 10/4/2016, format = 10/4/2016 (still dd/mm/yyyy)
value = 15/03/2017, format = 15/03/2017
私はオーストラリアのウインドウズロケールです。どのように私はこれを修正することができますので、私のVBAコードは、私がそれを期待しています。
3。 @Docmartiの変種も同様に機能します。ありがとうございました – hardish