1

Следующий код достиг того, что мне требуется, за исключением того, что дата [cell B2] экспортируется как пятизначное числовое значение, а не дд / мм / гггг.

Как изменить код, чтобы заставить B2 экспортировать как dd/mm/yyyy?

Sub Export_CSV()

    Dim MyPath As String
    Dim MyFileName As String
    Dim WB1 As Workbook, WB2 As Workbook



    Set WB1 = ActiveWorkbook
    ActiveWorkbook.ActiveSheet.UsedRange.Copy

    Set WB2 = Application.Workbooks.Add(1)
    WB2.Sheets(1).Range("A1").PasteSpecial xlPasteValues



    MyFileName = "XeroImport"
    FullPath = WB1.Path & "\" & MyFileName

    Application.DisplayAlerts = False
    If MsgBox("Data copied to " & WB1.Path & "\" & MyFileName & vbCrLf & _
    "Warning: Files in directory with same name will be overwritten!!", vbQuestion + vbYesNo) <> vbYes Then
        Exit Sub
    End If

    If Not Right(MyFileName, 4) = ".csv" Then MyFileName = MyFileName & ".csv"
    With WB2
        .SaveAs Filename:=FullPath, FileFormat:=xlCSV, CreateBackup:=False
        .Close True
    End With
    Application.DisplayAlerts = True
End Sub

Спасибо заранее за помощь.

1 ответ1

0

Если B2 показывает:

Прямо перед .SaveAs , включите эти строки:

Dim s As String
s = Range("B2").Text
Range("B2").Value = "'" & Format(s, "dd/mm/yyyy")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .