如何將一個EXCEL工作薄裡100張sheet數據十秒鐘合併成一個EXCEL表?

何雪旋


大家好,我是職場辦公小達人,很高興為您解答!

在工作中,我們很多時候要面對很多個工作簿裡的數據,為了方便統計,需要將所有工作簿的內容合併到一起後再進行按需分析,下面介紹一個方法可以快速將很多張sheet中的數據合併到一個sheet中,讓我們一起來看看吧~

1、打開有多個工作簿的excel表格,按住“Alt+F11”,依次選擇“插入”、“模塊”。

2、輸入以下代碼,依次點擊【運行】、【運行子過程/用戶窗體】,即可生成合並後的sheet了。

Option Explicit

Sub hbgzb()

Dim sh As Worksheet, flag As Boolean, i As Integer, hrow As Integer, hrowc As Integer

flag = False

For i = 1 To Sheets.Count

If Sheets(i).Name = "合併數據" Then flag = True

Next

If flag = False Then

Set sh = Worksheets.Add

sh.Name = "合併數據"

Sheets("合併數據").Move after:=Sheets(Sheets.Count)

End If

For i = 1 To Sheets.Count

If Sheets(i).Name <> "合併數據" Then

hrow = Sheets("合併數據").UsedRange.Row

hrowc = Sheets("合併數據").UsedRange.Rows.Count

If hrowc = 1 Then

Sheets(i).UsedRange.Copy Sheets("合併數據").Cells(hrow, 1).End(xlUp)

Else

Sheets(i).UsedRange.Copy Sheets("合併數據").Cells(hrow + hrowc - 1, 1).Offset(1, 0)

End If

End If

Next i

End Sub


以上就是快速合併多個sheet的方法,學會了嗎?如果你有好的方法,歡迎評論一起學習,我是職場辦公小達人,喜歡的話別忘記點贊哦~


職場辦公小達人


下面提供VBA的另外一種寫法。您只需要打開自己需要合併的EXCEL,把代碼粘貼到visual basic編輯器中。代碼就會自動將各個Sheet的內容合併到一張表裡。並且會新建一個EXCEL存在在該源文件的同級目錄下。命名採用日期+時間+彙總表的命名方式。如果源數據有變,重新合併一下就可以,沒有任何其他的條件。比較方便。可以先看下我錄的動圖:


直接使用請粘貼如下的代碼:


Sub Run()

Dim tar_wb As Workbook

Set tar_wb = CreateWorkbook

Call MergeContent(tar_wb)

End Sub

'函數名: CreateWorkbook

'接受參數:無

'返回值:Workbook(返回創建的Workbook)

'說明:創建一個Excel文件,存放合併的數據

Private Function CreateWorkbook() As Workbook

Dim fileName As String

Dim filePath As String

Dim nowDate As String

nowDate = CDate(Now())

nowDate = Replace(nowDate, ":\

Excel小助手


這個問題使用vba就很好處理了,10秒可以彙總幾百個表沒有問題的。

附上代碼如下,直接可以使用。

Sub Allcopy()

Dim rg As Range

Dim sh As Worksheet

Dim irow, jcol

Sheets("總表").Range("2:1048576").Clear

For Each sh In Worksheets

With Sheets("總表")

If sh.Name <> "總表" Then

Set rg = sh.UsedRange.Offset(1, 0)

irow = .Range("A" & Rows.Count).End(xlUp).Row + 1

rg.Copy .Cells(irow, 1)

End If

End With

Next

end sub


分享到:


相關文章: