Excel VBA复制数据时出现日期错误

Excel VBA复制数据时出现日期错误,vba,excel,csv,Vba,Excel,Csv,您好,最近我使用Foxpro 7.0生成了一个csv数据文件。因此,我打算使用VBA将数据以xlsm格式从A.csv复制到报告excel文件B Workbooks("A") Range("A2:AB300000").Copy Workbooks("B").Activate Sheets("C").Select Range("B6").Select ActiveSheet.Paste Workbooks("A").Close 还有很多文件要我复制。 我的问题是我在date列中得到了不同类型的结

您好,最近我使用Foxpro 7.0生成了一个csv数据文件。因此,我打算使用VBA将数据以xlsm格式从A.csv复制到报告excel文件B

Workbooks("A")
Range("A2:AB300000").Copy
Workbooks("B").Activate
Sheets("C").Select
Range("B6").Select
ActiveSheet.Paste
Workbooks("A").Close 
还有很多文件要我复制。 我的问题是我在date列中得到了不同类型的结果,其中包含随机生成的US/UK日期,格式为general或date。 请提前帮助和感谢

我使用这个代码

Sub TransToXLSFromCSV()
Dim vFile As Variant
Dim vDB
Dim fn As String
Dim strPath As String
Dim i As Long
Dim Wb As Workbook
    strPath = ThisWorkbook.Path
    vFile = Application.GetOpenFilename("Csv Files *.csv,*.csv;*.csv", _
      Title:="Select the Csv Files!", MultiSelect:=True)
    If TypeName(vFile) = "Boolean" Then Exit Sub
    Application.ScreenUpdating = False

    For i = 1 To UBound(vFile)
        fn = Dir(vFile(i))
        fn = Left(fn, Len(fn) - 4)

         Set Wb = Workbooks.Open(Filename:=vFile(i), Format:=2)
         vDB = Wb.ActiveSheet.UsedRange
         Wb.Close
         Set Wb = Workbooks.Add
         With Wb
            .ActiveSheet.Range("a1").Resize(UBound(vDB, 1), UBound(vDB, 2)) = vDB
            .SaveAs Filename:=strPath & "\" & fn & ".xlsx"
            .Close (0)
         End With
    Next i
    Application.ScreenUpdating = True
End Sub

您没有解释问题或提出具体问题。到底是什么问题?你说错误但从不解释错误或提供错误消息,你说请帮助但没有提出问题。请参阅和,然后是您的帖子,以便更清楚地解释您的问题。我的问题是,包含日期的列是随机错误的。日期应该是英国格式的。但是,一旦我使用VBA进行复制,有些日期是正常的,有些是美国格式的,有些是通用格式的。一种方法:假设原始生成的.csv文件是英国格式的日期,则需要将csv文件导入Excel。如果
打开
文件,Excel将根据Windows区域短日期设置解析日期。如果它们不是英国设置,您将看到您描述的问题。如果您导入文件,文本导入向导将打开,您可以定义解释的日期设置。正如我所说,您需要发布文章并更清楚地解释问题。我们看不到数据,您没有提供任何示例,您的代码不完整,您的问题描述不清楚。请再次阅读我最后的评论,访问我提供的链接,然后(再次)返回并回答您的问题。请注意,我没有说留下另一条评论,但明确地(大约是第四次)说你的帖子。