我想使用宏将 excel 文件导出为 csv,但我的代码仅导出标题。如何导出完整数据?
这是我的代码:
Sub CSVFile()
Dim My_filenumber As Integer
Dim logSTR As String
My_filenumber = FreeFile
logSTR = logSTR & Cells(1, "A").Value & " , "
logSTR = logSTR & Cells(1, "B").Value & " , "
logSTR = logSTR & Cells(1, "C").Value & " , "
logSTR = logSTR & Cells(1, "D").Value & " , "
logSTR = logSTR & Cells(1, "E").Value & " , "
logSTR = logSTR & Cells(1, "F").Value & " , "
logSTR = logSTR & Cells(1, "G").Value & " , "
logSTR = logSTR & Cells(1, "H").Value & " , "
logSTR = logSTR & Cells(1, "I").Value & " , "
logSTR = logSTR & Cells(1, "J").Value & " , "
logSTR = logSTR & Cells(1, "K").Value & " , "
logSTR = logSTR & Cells(1, "L").Value & " , "
logSTR = logSTR & Cells(1, "M").Value
Open "C:\Users\folder\Sample.csv" For Append As #My_filenumber
Print #My_filenumber, logSTR
Close #My_filenumber
End Sub
答案1
尝试这个宏:
Sub Export()
Dim MyPath As String
Dim MyFileName As String
MyFileName = "MR_Update_" & Sheets("Monthly Review").Range("D3").Value & "_" & Format(Date, "ddmmyyyy")
If Not Right(MyFileName, 4) = ".csv" Then MyFileName = MyFileName & ".csv"
Sheets("Export Data").Copy
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select a Folder"
.AllowMultiSelect = False
.InitialFileName = "" '<~~ The start folder path for the file picker.
If .Show <> -1 Then GoTo NextCode
MyPath = .SelectedItems(1) & "\"
End With
NextCode:
With ActiveWorkbook
.SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlCSV,CreateBackup:=False
.Close False
End With
End Sub