900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > VBA学习笔记2:将工作簿的表格拆分为工作簿

VBA学习笔记2:将工作簿的表格拆分为工作簿

时间:2020-09-27 12:27:25

相关推荐

VBA学习笔记2:将工作簿的表格拆分为工作簿

VBA学习笔记2:将工作簿的表格拆分为工作簿

1、判断原有工作簿的sheet是否需要拆分;

2、如需拆分则创建新表;

3、将原sheet复制到新建的工作簿中。

效果如下:

代码执行前,有1个工作簿,需要将除sheet1外的其他3个sheet拆分为不同的工作表:

执行后:

由于文件夹中已有“理三一班”等工作簿,故重命名时在前面都加了new。

代码如下:

Sub 拆分工作簿()Dim sht As WorksheetFor Each sht In ThisWorkbook.Worksheets '开始循环脚本所在工作簿中的所有工作表If sht.Name <> "sheet1" Then '除sheet1外,所有工作表都需要复制为独立的工作簿Workbooks.Add.SaveAs ThisWorkbook.Path & "\new" & sht.Name '新建一个工作簿,并给工作簿命名(saveas 后面的是新的工作簿名称,这里重命名时用了new+工作簿名)sht.Copy ActiveSheet '默认将原表复制到活动表的前面Application.DisplayAlerts = False '当对工作簿进行了变更,在关闭时会弹出弹框“是否要保存变更”,为了不显示该弹窗,将application.displayalerts设置为FalseActiveWorkbook.Sheets("Sheet1").Delete '我们在新建工作簿时会默认建立一个Sheet1,现在将其删除,仅保留复制的工作表ActiveWorkbook.Close 1 '将活动的工作簿关闭,因为我们需要保存对工作簿的修改,故close后面跟1,否则跟0或不跟Application.DisplayAlerts = True '打开提示框,则如果再发生变化弹窗会弹出End If '如果工作簿的名字为sheet1,则跳过Next sht '遍历下一个sheetEnd Sub

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。