最近课题遇到一个问题,需要将EXCEL中每一行的数据独立拆分出来并保存成独立的表格文件,研究了后利用EXCEL的宏来进行最方便。
第一步就是定义宏和各个变量
Sub SplitRowsToFiles()
Dim ws As Worksheet
Dim rngData As Range
Dim cell As Range
Dim newWB As Workbook
接下来设定所需的工作表以及所需要提取的数据
设置数据所在的Sheet和范围
Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为你的数据所在工作表名
Set rngData = ws.Range("A1").CurrentRegion ' 假设数据从A1开始直到没有数据的区域
最后就是建立新的工作簿并将每一行数据复制到新表格中并进行保存
For Each cell In rngData.Rows
' 创建新工作簿
Set newWB = Workbooks.Add(xlWBATWorksheet)
' 将当前行数据复制到新工作簿的第一个工作表
cell.EntireRow.Copy newWB.Sheets(1).Range("A1")
' 保存新工作簿
newWB.SaveAs Filename:=cell.Cells(1, 1).Value & ".xlsx", FileFormat:=xlOpenXMLWorkbook
' 关闭新工作簿,准备处理下一行
newWB.Close SaveChanges:=False
Next cell
End Sub
默认的将拆分后独立保存的表格文件存放至原工作表同一目录下进行保存。后续更新怎么自动提取表格内容并生成WORD或TXT格式的文件以便进行特定内容的自动提取。