使用 VBA 将单元格范围导出到新的 .csv 文件中并保存而不覆盖
Export a cell range into a new .csv file with VBA and save it without overwriting
我想做的就是复制一个单元格范围,将其粘贴到一个新的 CSV 文件中,然后使用 VBA 保存新文件。我可能会多次为这个文件使用这个 VBA。所以,我想让它用一个数字保存文件。
我正在使用下面的代码,它正在运行:
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
我从原始 excel 文件中选择的单元格范围保存的文件名为 Range。我想更改代码并使其保存文件而不覆盖任何其他文件。
我想这是我应该更改的部分:
ActiveWorkbook.SaveAs Filename:="C:\Users\User\Desktop\Range.csv", FileFormat:=xlCSV, CreateBackup:=False
我试图将 "False" 更改为 "True",但没有成功。也许是出于另一个原因。
我刚刚重读了?再次。您需要的是一种获取新编号并将其添加到文件名的方法。
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
我想做的就是复制一个单元格范围,将其粘贴到一个新的 CSV 文件中,然后使用 VBA 保存新文件。我可能会多次为这个文件使用这个 VBA。所以,我想让它用一个数字保存文件。
我正在使用下面的代码,它正在运行:
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
我从原始 excel 文件中选择的单元格范围保存的文件名为 Range。我想更改代码并使其保存文件而不覆盖任何其他文件。
我想这是我应该更改的部分:
ActiveWorkbook.SaveAs Filename:="C:\Users\User\Desktop\Range.csv", FileFormat:=xlCSV, CreateBackup:=False
我试图将 "False" 更改为 "True",但没有成功。也许是出于另一个原因。
我刚刚重读了?再次。您需要的是一种获取新编号并将其添加到文件名的方法。
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