Excel 导出列表并将其保存为.CSV文件
我发现这段代码对我的工作帮助很大。我想定制它多一点虽然和我的生活,我不能让它工作。我根本没有编码知识,所以我想我可以从这个社区得到一些帮助 我想包括一些东西,这样当文件被保存时,它会以.CSV文件格式保存。我的代码如下所示Excel 导出列表并将其保存为.CSV文件,excel,vba,csv,export,Excel,Vba,Csv,Export,我发现这段代码对我的工作帮助很大。我想定制它多一点虽然和我的生活,我不能让它工作。我根本没有编码知识,所以我想我可以从这个社区得到一些帮助 我想包括一些东西,这样当文件被保存时,它会以.CSV文件格式保存。我的代码如下所示 Sub Test() Dim wb As Workbook Dim ThisSheet As Worksheet Dim NumOfColumns As Integer Dim RangeToCopy As Range Dim RangeOfHeader
Sub Test()
Dim wb As Workbook
Dim ThisSheet As Worksheet
Dim NumOfColumns As Integer
Dim RangeToCopy As Range
Dim RangeOfHeader As Range 'data (range) of header row
Dim WorkbookCounter As Integer
Dim RowsInFile 'how many rows (incl. header) in new files?
Application.ScreenUpdating = False
'Initialize data
Set ThisSheet = ThisWorkbook.ActiveSheet
NumOfColumns = ThisSheet.UsedRange.Columns.Count
WorkbookCounter = 1
RowsInFile = 101 'as your example, just 1000 rows per file
'Copy the data of the first row (header)
Set RangeOfHeader = ThisSheet.Range(ThisSheet.Cells(1, 1), ThisSheet.Cells(1, NumOfColumns))
For p = 2 To ThisSheet.UsedRange.Rows.Count Step RowsInFile - 1
Set wb = Workbooks.Add
'Paste the header row in new file
RangeOfHeader.Copy wb.Sheets(1).Range("A1")
'Paste the chunk of rows for this file
Set RangeToCopy = ThisSheet.Range(ThisSheet.Cells(p, 1), ThisSheet.Cells(p + RowsInFile - 2, NumOfColumns))
RangeToCopy.Copy wb.Sheets(1).Range("A2")
'Save the new workbook, and close it
wb.SaveAs ThisWorkbook.Path & "\file " & WorkbookCounter
wb.Close
'Increment file counter
WorkbookCounter = WorkbookCounter + 1
Next p
Application.ScreenUpdating = True
Set wb = Nothing
End Sub
Juan,如果我理解的话,你唯一的目标就是保存为CSV。如果是这样的话,除了方法中缺少的第二个参数外,您拥有的所有内容都是正确的;这是最重要的 例:
尝试在将文件保存为CSV时录制宏,然后尝试将其合并到此代码中。如果您有问题,请发回您尝试过的代码,以及您遇到的任何错误的描述。嘿,谢谢您为我回答这个问题。为了澄清,我发布的代码从主文件中每隔101行输出单独的工作簿,但它们以.xlsx格式输出,我希望它们以.csv格式输出。抱歉,如果这是你给我的,我只是不确定在模块中粘贴代码的位置。。。
Sub SaveAsCSV()
Dim wb As Workbook
Set wb = ThisWorkbook
Application.DisplayAlerts = False
wb.SaveAs ThisWorkbook.Path & "\" & "name1", xlCSV
Application.DisplayAlerts = True
End Sub