Export a cell range into a new .csv file with VBA and save it without overwriting

China☆狼群 提交于 2020-01-07 09:03:10

问题


All I am trying to do is copy, paste a cell range into a new CSV file and save the new file with VBA. I will might use this VBA for this file many times. So, I would like to make it save the files with a number.

I am using the code below and it is working:

Sub ExportRangetoFile()
Dim Rng As Range
Dim WorkRng As Range
Dim xFile As Variant
Dim xFileString As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ActiveSheet.Copy
Application.ActiveSheet.Cells.Clear
WorkRng.Copy Application.ActiveSheet.Range("A1")
Set xFile = CreateObject("Scripting.FileSystemObject")
ActiveWorkbook.SaveAs Filename:="C:\Users\User\Desktop\Range.csv", FileFormat:=xlCSV, CreateBackup:=False
End Sub

The saved file with the cell range I selected from the original excel file is called Range. I want to change the code and make it save the files without overwriting any other file.

I presume this is the part I should change :

ActiveWorkbook.SaveAs Filename:="C:\Users\User\Desktop\Range.csv", FileFormat:=xlCSV, CreateBackup:=False

I tried to change the "False" to "True" but it did not work. Maybe for another reason though.


回答1:


I just re-read the ? again. What you need is a way to get a new number and add it to the file name.

FiNum = ... 'get file number from a text file
FiName = "C:\Users\User\Desktop\Range" & FiNum & ".csv"
ActiveWorkbook.SaveAs Filename:=FiName, FileFormat:=xlCSV, CreateBackup:=False
FiNum = FiNum + 1
Call WriteToFile(FiNum)  ... 'write file number back to text file

Sub WriteToFile(ByVal FiNum As Long)
    Open "C:\FiNumber.txt" For Output As #1
    Print #1, CStr(FiNum) 'print as string for optimum results
    Close #1
End Sub


来源:https://stackoverflow.com/questions/31967780/export-a-cell-range-into-a-new-csv-file-with-vba-and-save-it-without-overwritin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!