Excel VBA 之 彙總工作表內容到一張總表


Excel VBA 之 彙總工作表內容到一張總表

彙總工作表,是我們經常會遇到的一個工作內容,通常我們只能手動複製每個Sheet,工作表數量少的話還好,如果數量很多,那麼就會費時費力。這時候如果能用VBA程序,就能很快地彙總完成。

假如現在我們有這樣幾張表,

Excel VBA 之 彙總工作表內容到一張總表

每張工作表都存有若干名學生的成績,現在需要將它們彙總到《年級彙總》這張表裡,並且按照總分排序。

Excel VBA 之 彙總工作表內容到一張總表


下面是VBA代碼

<code>Sub test()
Dim mR%
Dim n%
n = 2‘’
[2:65536].ClearContents'
For Each sht In Sheets

If sht.Name <> "年級彙總" Then
mR = sht.[A65536].End(xlUp).Row
sht.Range("B2:F" & mR).Copy Cells(n, 2)
n = n + mR - 1
End If
Next
Range("A2:F" & (n - 1)).Sort [F1], Order1:=xlDescending

[A2] = 1
[A2].AutoFill Destination:=Range("A2:A" & (n - 1)), Type:=xlFillSeries
End Sub/<code>

需要注意的是,對《年級彙總》這張表的單元格的引用,我都沒有附帶表名,沒有附帶表名的單元格默認就在當前工作表。因為我通過按鈕調用,所以當前工作表就是《年級彙總》。

最後,我們看一下效果

Excel VBA 之 彙總工作表內容到一張總表

最終效果

可以看到畫面有點閃,在代碼前後加個對Application.ScreenUpdating的設置就好了。

對單個工作簿內的工作表進行彙總就講到這裡了,下期我會講一下對多個工作簿的內容進行彙總。


大家點擊下面鏈接可以查看我的其他文章哦!

。。。


喜歡的朋友記得點贊、轉發、關注哦,大家如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我將在下期分享給大家,以後不定期更新Excel VBA技巧!


分享到:


相關文章: