學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel表格 > 如何快速把多個(gè)excel表合并成一個(gè)excel表

如何快速把多個(gè)excel表合并成一個(gè)excel表

時(shí)間: 張偉670 分享

如何快速把多個(gè)excel表合并成一個(gè)excel表

  有這么一種情況,就是我們有很多張excel,而且excel表里面的公式基本一樣,我們就想快速的把這些excel合并在一起,意思在合并在一個(gè)excel頁(yè)面,這樣可以方便我們分析和統(tǒng)計(jì),其實(shí)利用excel表的宏計(jì)算就可以實(shí)現(xiàn)。下面我們就來(lái)一起解決這個(gè)問題。

  把多個(gè)excel表合并成一個(gè)excel表的方法

  我們需要把多個(gè)excel表都放在同一個(gè)文件夾里面,并在這個(gè)文件夾里面新建一個(gè)excel。如圖所示:

把多個(gè)excel表合并成一個(gè)excel表的方法圖1


把多個(gè)excel表合并成一個(gè)excel表的方法圖2

  用microsoft excel打開新建的excel表,并右鍵單擊sheet1,找到“查看代碼”,單擊進(jìn)去。進(jìn)去之后就看到了宏計(jì)算界面。如圖所示:


把多個(gè)excel表合并成一個(gè)excel表的方法圖3


把多個(gè)excel表合并成一個(gè)excel表的方法圖4

  然后我們把下面這些宏計(jì)算的代碼復(fù)制進(jìn)去,然后找到工具欄上面的“運(yùn)行”下的“運(yùn)行子過程/用戶窗體”,代碼如下,如圖所示:

  Sub 合并當(dāng)前目錄下所有工作簿的全部工作表()

  Dim MyPath, MyName, AWbName

  Dim Wb As Workbook, WbN As String

  Dim G As Long

  Dim Num As Long

  Dim BOX As String

  Application.ScreenUpdating = False

  MyPath = ActiveWorkbook.Path

  MyName = Dir(MyPath & "\" & "*.xls")

  AWbName = ActiveWorkbook.Name

  Num = 0

  Do While MyName <> ""

  If MyName <> AWbName Then

  Set Wb = Workbooks.Open(MyPath & "\" & MyName)

  Num = Num + 1

  With Workbooks(1).ActiveSheet

  .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

  For G = 1 To Sheets.Count

  Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

  Next

  WbN = WbN & Chr(13) & Wb.Name

  Wb.Close False

  End With

  End If

  MyName = Dir

  Loop

  Range("B1").Select

  Application.ScreenUpdating = True

  MsgBox "共合并了" & Num & "個(gè)工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

  End Sub


把多個(gè)excel表合并成一個(gè)excel表的方法圖5


把多個(gè)excel表合并成一個(gè)excel表的方法圖6

  運(yùn)行之后,等待10秒針左右,等運(yùn)行完畢,就是合并完成之后,會(huì)有提示,點(diǎn)確定就可以了。查看合并后的數(shù)據(jù),有5000多行,就是同一個(gè)文件夾里面17個(gè)excel表數(shù)據(jù)合并后的結(jié)果。效果如圖所示。


把多個(gè)excel表合并成一個(gè)excel表的方法圖7


把多個(gè)excel表合并成一個(gè)excel表的方法圖8

  >>>下一頁(yè)更多精彩“Excel繪制二維折線圖的方法”

384744