Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1969|回复: 4

用VBA数组把几个班级工作表汇总

[复制链接]
发表于 2018-6-27 21:13 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2018-6-27 21:15 编辑

用VBA数组把几个班级工作表汇总


用VBA数组把几个班级工作表汇总.rar

24.23 KB, 下载次数: 14

发表于 2018-6-30 13:29 | 显示全部楼层
回复

使用道具 举报

发表于 2018-7-18 11:21 | 显示全部楼层
本帖最后由 hasyh2008 于 2018-7-18 15:28 编辑

Sub 汇总()
Sheets("汇总").Columns("A:i").Clear
    Dim i%, tim
    tim = Timer

    For i = 1 To Sheets.Count - 1
        Sheets(i).Select
        Columns(1).Insert
        Range("A1").Resize(Range("B" & Rows.Count).End(xlUp).Row, 1) = Sheets(i).Name
        Sheets(i).Range("A1").CurrentRegion.Copy Sheets("汇总").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        Sheets(i).Columns(1).Delete
    Next i

    Sheets("汇总").Select

    Dim strDep  As String
    Dim Rng     As Range
    Dim Rown%, Rown2%, X%

    X = Range("A" & Rows.Count).End(xlUp).Row

    strDep = Cells(2, 1).Value
    Set Rng = Cells(2, 1)
    '关闭警告提示
    Application.DisplayAlerts = False

    For Rown = 2 To X + 1
        If strDep = Cells(Rown, 1).Value Then
            Set Rng = Union(Rng, Cells(Rown, 1))
        Else
            Rng.Merge
            strDep = Cells(Rown, 1).Value
            Set Rng = Cells(Rown, 1)
        End If
    Next Rown
    '开启警告提示
    Application.DisplayAlerts = True
    MsgBox Timer - tim
End Sub

用VBA数组把几个班级工作表汇总.zip

29.68 KB, 下载次数: 14

评分

参与人数 1 +9 收起 理由
laoau138 + 9 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2018-7-18 11:54 | 显示全部楼层
hasyh2008 发表于 2018-7-18 11:21
Sub 汇总()
    Dim i%
    For i = 1 To Sheets.Count - 1

实在太高手了
回复

使用道具 举报

发表于 2018-7-18 15:34 | 显示全部楼层

并不难,只要用心学,很容易的!关于单工作簿内多表合并的教程很多!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 11:04 , Processed in 0.293631 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表