vba合并单元格,MergeArea 属性,UnMerge 方法,多表合并,拆分

本文介绍了如何使用VBA在Excel中实现多表的合并和拆分功能,包括子过程Sub多表合并,通过循环逐月复制数据并添加月份标识,以及Sub多表拆分,根据总表中的月份信息创建新的工作表。展示了实用的Excel编程技巧。
摘要由CSDN通过智能技术生成

 

 

 

 

 

 

综合运用:

'Option Explicit

Sub 多表合并()
Dim i%, rs%, rss%, st As Worksheet, zst As Worksheet
Set zst = Sheets("1季度") '将汇总工作表"1季度"定义为变量zst
For i = 1 To 3
    Set st = Sheets(i & "月") '将1-3每月的工作表定义为变量st
    rs = st.UsedRange.Rows.Count ' 计算1-3月份每个表的最后一行
    rss = zst.UsedRange.Rows.Count + 1 '计算“1季度的最后一行的下一行”
    st.Range("a2:b" & rs).Copy zst.Cells(rss, 1) '复制1-3表的数据到总表中
    zst.Cells(rss, 3).Resize(rs - 1) = i & "月" '将1-3表的工作表名写入到总表对应的记录中
Next
End Sub

Sub 多表拆分()
  For f = 1 To 3 '循环三次(只拆分三个月)
        Worksheets.Add.Name = f & "月" '新建工作表,并以月份命名
        For Each Rng In Sheets("总表").Range("a2:a15")
            If Rng.Value = f & "月" Then '如果a列的值等于当前的月份
               n = "a" & Rng.Row & ":d" & Rng.Row '构造被复制的源表区域
               y = y + 1 '新表行数累计
               If y = 1 Then
               Sheets("总表").Range("a1:d1").Copy Sheets(f & "月").Cells(y, 1)
               End If
               Sheets("总表").Range(n).Copy Sheets(f & "月").Cells(y + 1, 1) '则将当前月份所在行复制到新建月份表中
            End If
        Next
        y = 0 '分表行数累计归零
  Next
End Sub
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值