【VBA案例011】合并工作表

276 字
1 分钟
【VBA案例011】合并工作表

大家好!终于放假了,知了祝大家双节快乐!~

今天分享的案例非常的经典,它让我首次见识了VBA的魅力。也是从那会儿开始,命运的齿轮开始转动,走上了学习VBA的道路。

它就是:合并工作表。

问题很简单:就是把一个工作簿里的所有sheet合并到一个总表里边。

如下图:将 4个班级的信息合并。

以下是VBA代码(长按复制,可向右托动),详细解析请看文末视频。

方法一:复制粘贴#

Sub 复制粘贴()
Dim sht As Worksheet
Dim zongSht As Worksheet
Set zongSht = Worksheets("总表")
Dim rowsCount, zongRows
For Each sht In Worksheets
If sht.Name <> "总表" Then
With sht
rowsCount = .[a65536].End(3).Row
zongRows = zongSht.[a65536].End(3).Row + 1
.Range("a2:d" & rowsCount).Copy zongSht.Range("a" & zongRows)
End With
End If
Next
End Sub

方法二:数组#

Sub 数组()
Dim sht As Worksheet
Dim zongSht As Worksheet
Set zongSht = Worksheets("总表")
Dim rowsCount, zongRows
Dim tmpAr
For Each sht In Worksheets
If sht.Name <> "总表" Then
With sht
rowsCount = .[a65536].End(3).Row
zongRows = zongSht.[a65536].End(3).Row + 1
tmpAr = .Range("a2:d" & rowsCount)
zongSht.Range("a" & zongRows).Resize(UBound(tmpAr), UBound(tmpAr, 2)) = tmpAr
End With
End If
Next
End Sub

原始链接

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
【VBA案例011】合并工作表
https://fanrich.eu.org/posts/程技/vba/vba案列/vba案例011合并工作表/
作者
richfan
发布于
2023-10-23
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
richfan
Hello, I'm richfan.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
779
分类
8
标签
138
总字数
3,267,679
运行时长
0
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录