小编Mic*_*ith的帖子

Excel VBA:导入CSV,日期为dd/mm/yyyy

我知道这是一个相当普遍的问题,但我还没有找到一个可靠的解决方案.

我在csv文件中有数据,第一列格式为dd/mm/yyyy.当我用Workbooks.OpenText打开它时,它默认为mm/dd/yyyy,直到它发现它认为月份超过12,然后恢复到dd/mm/yyyy.

这是我的测试代码,试图将其强制为xlDMYFormat,我也尝试了文本格式.我理解这个问题仅适用于*.csv文件,而不适用于*.txt,但这不是一个可接受的解决方案.

Option Base 1
Sub TestImport()

Filename = "test.csv"

Dim ColumnArray(1 To 1, 1 To 2)

ColumnsDesired = Array(1)
DataTypeArray = Array(xlDMYFormat)

' populate the array for fieldinfo
For x = LBound(ColumnsDesired) To UBound(ColumnsDesired)
    ColumnArray(x, 1) = ColumnsDesired(x)
    ColumnArray(x, 2) = DataTypeArray(x)
Next x

Workbooks.OpenText Filename:=Filename, DataType:=xlDelimited, Comma:=True, FieldInfo:=ColumnArray

End Sub
Run Code Online (Sandbox Code Playgroud)

test.csv包含:

Date
11/03/2010
12/03/2010
13/03/2010
14/03/2010
15/03/2010
16/03/2010
17/03/2010
Run Code Online (Sandbox Code Playgroud)

csv excel vba

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

csv ×1

excel ×1

vba ×1