美文网首页
2021-06-24

2021-06-24

作者: 千千鹤儿飞翔 | 来源:发表于2021-06-24 17:47 被阅读0次

如何用VBA快速搞定多个工作簿合并成1个工作簿?

1、首先将要合并的工作簿放在同一个文件夹内;

2、新建一个excel,命名为合并工作簿模板。单击开发工具——插入按钮,命名为:合并工作簿,输入代码:

Sub 合并工作簿()

    Dim Wb As Workbook, MyPath As String, File, Sh_n As String

    Application.ScreenUpdating = False

    Rem 关闭屏幕刷新

    MyPath$ = ThisWorkbook.Path & "\"

    Rem 获取当前工作簿路径

    File = Dir(MyPath & "*.xls*")

    Rem 获取路径下所有Excel文件

    Do While File <> "" '遍历所有文件

        If File <> ThisWorkbook.Name Then '不合并当前工作簿

            Set Wb = Workbooks.Open(MyPath & File)

            Rem 依次打开工作簿

            Sh_n = StrReverse(Mid(StrReverse(Wb.Name), InStr(StrReverse(Wb.Name), ".") + 1))

            Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

            ActiveSheet.Name = Sh_n

            Rem 将第一个表复制到当前工作簿的最后一个工作表

            Wb.Close False '关闭工作簿 不保存

        End If

        File = Dir

        Rem 循环下一个工作簿

    Loop

    Application.ScreenUpdating = False

    Rem 打开屏幕刷

End Sub

多个sheet合并成一个sheet

Sub hb()

Dim bt, i, r, c, n, first As Long

bt = 1 '表头行数,多行改为对应数值

Cells.Clear

For i = 1 To Sheets.Count

    If Sheets(i).Name <> ActiveSheet.Name Then '务必当前在新建的空白页面中

        If first = 0 Then

            c = Sheets(i).Cells(1, Columns.Count).End(xlToLeft).Column '获取字段数https://www.cnblogs.com/acetaohai123/p/6505447.html

            Sheets(i).Range("A1").Resize(bt, c).Copy Range("A1") '拷贝第一行,也就是head line

            n = bt + 1: first = 1

        End If

        r = Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row '获取要拷贝的sheet的行数

        Sheets(i).Range("A" & bt + 1).Resize(r - 1, c).Copy Range("A" & n) '拷贝当前sheet中的数据到第N行

        n = n + r - bt '更新行数变量n

    End If

Next

End Sub

相关文章

  • 2021-06-24 随拍

    2021-06-24 随拍

  • zookeeper 集群Have smaller server

    作者时间雨中星辰2021-06-24 问题情况 zookeeper集群启动时报错:Have smaller ser...

  • 【餐饮100问】25.顾客点外卖最大的耐心是多久?

    Day236 2021-06-24 出差来到外地,到了酒店后比较晚了,点了个外卖送到酒店,点外卖的时候感觉就好饿好...

  • 聚焦一个点,打突击

    日记847篇 2021-06-24 人很容易忘记的就是,觉察自己的行为习惯,例如平时,总是提醒自己睡觉时要深呼吸,...

  • #Dairy232 接近尾声

    2021-06-24 晴 周四 发现饭后的消化时间情绪会低落,莫名忧伤消极。对事不上心。 下午和小组队友互相对了一...

  • 奶奶您一路走好

    2021-06-24日中午,我在公司刚吃完饭,和我妈发起视频问下我奶奶的病情,母亲说还在ICU情况不太好。我背起书...

  • 入伏是什么意思啊,入伏要注意什么

    入伏是什么意思啊,入伏要注意什么 2021-06-24 三伏天 入伏意思是进入三伏天。“夏至三庚数头伏”,这是确立...

  • 2021-06-24

    希望自己养成早起习惯,虽然知道不易,不过人生已经近半百,我需要对自己的生活改变,要过一种更加舒服的生活,更加有规律...

  • 2021-06-24

    昨天眼睛老毛病复发,难受恶心,晚上八点半就睡了,现在刚醒。一晚上做了四个梦,竟然梦到你表哥和我说了一句话,梦到你围...

  • 2021-06-24

    2021.6.23周三晴 起来好几趟去厕所,肚子不舒服。趁我上厕所的时候小弟又在大宝被子上热乎乎地尿了一泡,气死我...

网友评论

      本文标题:2021-06-24

      本文链接:https://www.haomeiwen.com/subject/lflgyltx.html