多sheet合并同时新增列

这段VBA代码用于删除名为合并的工作表,然后创建一个新的合并工作表,并将所有其他非合并工作表的数据粘贴到新表中。数据从找到SPC的行开始,直到最后一列。同时,它还会在第一行添加表名作为标识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sub 合并当前工作簿下的所有工作表()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("合并").Delete
Set st = Worksheets.Add(before:=Sheets(1))
st.Name = "合并"
For Each shet In Sheets:
    If shet.Name <> "合并" Then
        i = st.Range("A" & Rows.Count).End(xlUp).Row
        r = shet.UsedRange.Find("SPC").Row - 1
        c = shet.Cells(4, Columns.Count).End(xlToLeft).Column
        shet.Activate
        If i > 1 Then i = st.Range("A" & Rows.Count).End(xlUp).Row + 1
        If i = 1 Then
            shet.Range(Cells(4, 1), Cells(r, c)).Copy
        Else
            shet.Range(Cells(5, 1), Cells(r, c)).Copy
        End If
        st.Activate
        Cells(i, 1).PasteSpecial Paste:=xlPasteAll
        If i = 1 Then c1 = Cells(1, Columns.Count).End(xlToLeft).Column + 1: Cells(i, c1) = "表格名字"
        i = Cells(Rows.Count, c1).End(xlUp).Row: ii = Range("A" & Rows.Count).End(xlUp).Row
        Range(Cells(i + 1, c1), Cells(ii, c1)) = shet.Name
    End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "已完成"
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值