工作小記——將多個sheet表合併到一張里

2019-10-23   電腦小基技

今天拿到 一些表格,每張表里含有多張sheet,但格式都是一樣的,需要將每張sheet匯總起來放到一張表里,這裡將方法說一下,也方便自己以後再用。


新建一個總表,準備開始匯總。

按下Alt+F11,打開VBA,左鍵雙擊左邊的的名為」總表「的工作表,確保後續的代碼是複製到這個工作表中。

選中總表雙擊

在右邊的空白區域,輸入下面的代碼:

Sub main()
For Each sh In Sheets
If sh.Name <> "總表" Then
i = sh.Range("D65536").End(3).Row
k = Range("A65536").End(3).Row
sh.Range("A2:D" & i).Copy Range("A" & k + 1)
End If
Next
End Sub

輸入代碼

之後選擇工具,宏,運行。稍等一會兒即匯總完畢。

運行宏

代碼詳解:

  1. Sub main()——main是宏名,可以修改。
  2. For Each sh In Sheets——遍歷所有的工作表,不需要匯總的請刪除
  3. If sh.Name <> "總表" Then——這裡是判斷工作表的名字是不是」總表「,如果是總表,就不匯總數據
  4. i = sh.Range("B65536").End(3).Row——獲得行號,在實際的使用過程中,一定要選擇一個最後一行有數據的列,否則不能獲得最大行號
  5. k = Range("A65536").End(3).Row——這裡是獲得總表的最大行號,以便複製粘貼,無需更改。
  6. sh.Range("A2:D" & i).Copy Range("A" & k + 1)——「A2:D」&i是要複製的區域,可根據需要進行調整
  7. Range("A" & k + 1)——這裡是從總表的A列開始粘貼,假如是從D列開始,那麼這裡的A改為D即可
  8. End If Next End Sub——結束,無需更改

簡單介紹完了,有需要的可以試試。