通过Excel vba打开CSV文件 - 更改日期格式

时间:2017-10-02 16:15:17

标签: excel vba excel-vba csv

关于这个问题已经存在多个问题,但是没有一个答案似乎能解决我的问题。问题是这样的:我必须编辑大量的.csv文件,所以我通过Excel VBA这样做。前三列是格式为dd / mm / yyyy hh:mm:ss的日期,这些日期在通过

打开时转换为美国格式MDY
    set wb1 = Workbooks.Open (Filename:=savefolder & filename, Local:=True)

解决此问题的最常见答案围绕着已知的功能'除非通过Local:= True使用区域设置,否则Excel将使用美国日期格式打开CSV,但我已完成此操作但仍无效。任何人都可以建议可能需要更改以使以下代码工作的设置?感谢。

    Sub cleandata()
    dim wb1 as workbook
    dim ws1 as worksheet
    dim savefolder, filename as string

    savefolder = "C:\Users\ME\Desktop\Clean Up Folder\"
    filename = dir(savefolder & "*")
    Do while len(filename) >0
           set wb1 = Workbooks.Open (Filename:=savefolder & filename, Local:=True)
           set ws1 = wb1.worksheets(1)
           'code related to what I am wanting to do to the data to 'clean it up'
           wb1.close true
           filename = dir()
    Loop
    End Sub

3 个答案:

答案 0 :(得分:0)

使用Data >> From Text工具打开您的文件:在该过程的第3步中,您可以指定传入数据的日期格式。

录制宏将为您提供所需代码的开始。

enter image description here

答案 1 :(得分:0)

如果您使用的是import random drawn_numbers = random.sample(range(1,35), 10) winning_numbers, bonus_numbers = drawn_numbers[:7], drawn_numbers[7:] 功能,则可以使用TextToColumns参数。

我遇到了类似的问题,这对我有用(除了使用FieldInfo:=Array(1, 4)

它只使用两种“解决方案”。

祝你好运!

答案 2 :(得分:0)

@SMLBW

将系统的短时和长时间更改为“ dd / mm / yyyy”格式。

我希望这可以解决问题:

enter image description here