将Excel工作表的每一行保存为单独的工作簿 | VBA实例教程

韵竹

收藏于 : 2023-03-23 20:21   被转藏 : 1   

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat4/111.html,VBA交流群273624828。

今天我们来看怎么将一个Excel工作表中的每一行单独保存为工作簿的例子。这种方法在工作中应用也比较广,比如说公司人事在给员工发工资条的时候就需要将整个的表格按行分为单独的表再发给不同的员工。在拆分的时候每一个工作簿还需要一个和原表相同的表头。程序的思路就是新建一个工作簿,将表头和相应行一起复制到新建的工作簿中然后再保存即可,看下面的例子,假设以第一列单元格的内容来命名另存为的工作簿。

Sub 每行拆分成工作簿()
Dim wb, i, j
Application.ScreenUpdating = False
For j = 2 To [a65536].End(xlUp).Row  '从第2行开始循环取行
Union(Rows(1), Rows(j)).Copy       '将表头和相应行一起复制
Set wb = Workbooks.Add             '新建一个工作簿
wb.Sheets(1).Paste                 '将复制的内容粘贴
On Error Resume Next
Kill ThisWorkbook.Path & "\" & wb.Sheets(1).Range("A2") & ".xlsx"  '先把同路径下同名的文件删除,防止报错
wb.SaveAs ThisWorkbook.Path & "\" & wb.Sheets(1).Range("A2") & ".xlsx"   '保存工作簿,以新工作簿的A2单元格为名
wb.Close             '关闭工作簿
Set wb = Nothing     '释放wb
Next
Application.ScreenUpdating = True
End Sub

看上面的代码是不是很简单呢,在这里union是将相应区域同时选中的意思,如何新建和保存工作簿我们在工作簿的基本操作中有过介绍,仿照上面的方法,你是不是也能做出将每一列保存为单独工作簿的程序呢?

本文示例文件下载地址:http://pan.baidu.com/s/1s6OUE

 阅读文章全部内容  
点击查看
文章点评
相关文章
韵竹 关注

文章收藏:4654

TA的最新收藏