VBA——合并工作表及工作表单独保存的功能

沿用上一篇关于拆分excel工作表的文章的引子,本文分享下多个工作表合并的VBA功能。案例仍使用上篇文章的例子。已知有BS、HR等多个部门,分别存放在独立的以部门命名的工作表中,现需要将多个部门的工作表合并为包含所有部门的一张工作表。

实现代码如下:

Sub MergeToOneSheet()
'取表头
Range("A1:D1") = Sheets(2).Range("A1:D1").Value
'计算工作表数量
x = Sheets.Count
'从第二个工作表循环
'第一个工作表是新建待合并总表
For i = 2 To x
'第i个工作表最后一个非空白行
rn1 = Sheets(i).Range("A30").End(xlUp).Row
'待合并完成总表的最后一个非空白行
rn2 = Range("A30").End(xlUp).Row
'第i个表第二行到第rn1行拷贝
Sheets(i).Range("A2:D" & rn1).Copy _
'粘贴至总表
Range ("A" & rn2 + 1)
Next
End Sub

有时候需要将工作表单独保存,在手工条件下,一个一个按照制作副本然后另存,是酱紫的:

表多的时候,一个一个操作再保存会很繁琐,但是VBA可以很轻松的实现此功能。依旧按照之前的文档为例,代码如下:

Public Sub chaifen()
Dim sht As Worksheet
Dim mb As Workbook
Set mb = ActiveWorkbook
'循环工作表
For Each sht In mb.Sheets
'拷贝工作表
sht.Copy
'独立保存位置在桌面"example"文件夹
ActiveWorkbook.SaveAs Filename:="C:\Users\xj\Desktop\example" _
& "\" & sht.Name, FileFormat:=xlNormal
ActiveWorkbook.Close
Next
End Sub

点看桌面“example”文件,所有工作表已经完成独立保存,文件名称也都已经以工作表的名称来命名。

      欢迎大家关注本人微信公众号,公众号将持续更新python,tableau,SQL等数据分析的文章。

   

ID: DataDreamInitiate

      公众号名称数据分析X小硕
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值