excel如何快速把多個工作表合并到一個excel表

有這么一種情況,就是我們有很多張excel,而且excel表里面的公式基本一樣,我們就想快速的把這些excel合并在一起,意思在合并在一個excel頁面,這樣可以方便我們分析和統(tǒng)計,那么excel如何快速把多個工作表合并到一個excel表?下面為大家介紹這種方法,希望能幫助到大家。
操作步驟:
1、原始數(shù)據(jù)所在工作簿包含多個格式相同的工作表,只不過每個工作表內(nèi)容不同,比如說不同人名的工作表數(shù)據(jù)或者不同部門填寫的數(shù)據(jù)。
2、在原始數(shù)據(jù)同目錄下新建一個工作簿,建立兩個工作表,名稱分別為“首頁”和“合并匯總表”。
3、按Alt+F11進入VBA代碼編輯和調(diào)試界面。
4、根據(jù)下圖提示,插入一個模塊。
5、將下述代碼粘貼到模塊空白處:
Dim wsNewWorksheet As Worksheet
Dim cel As Range
Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant
Dim TitleRow, TitleColumn As Range
Dim Num As Integer
Dim DataRows As Long
DataRows = 1
Dim TitleArr()
Dim Choice
Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$
Dim n, i
n = 1
i = 1
Application.DisplayAlerts = False
Worksheets("合并匯總表").Delete
Set wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
wsNewWorksheet.Name = "合并匯總表"
MyFileName = Application.GetOpenFilename("Excel工作薄 (*.xls*),*.xls*")
If MyFileName = "False" Then
MsgBox "沒有選擇文件!請重新選擇一個被合并文件!", vbInformation, "取消"
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:="請選擇要合并的數(shù)據(jù)區(qū)域:", Type:=8)
AddressAll = DataSource.Address
ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
SourceDataRows = Selection.Rows.Count
SourceDataColumns = Selection.Columns.Count
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To Num
ActiveWorkbook.Sheets(i).Activate
ActiveWorkbook.Sheets(i).Range(AddressAll).Select
Selection.Copy
ActiveSheetName = ActiveWorkbook.ActiveSheet.Name
Workbooks(ThisWorkbook.Name).Activate
ActiveWorkbook.Sheets("合并匯總表").Select
ActiveWorkbook.Sheets("合并匯總表").Range("A" & DataRows).Value = ActiveSheetName
ActiveWorkbook.Sheets("合并匯總表").Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
DataRows = DataRows + SourceDataRows
Workbooks(MyName).Activate
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
Workbooks(MyName).Close
End Sub
6、在“首頁”工作表中按下圖示范插入一個窗體控件并指定宏為插入的代碼名稱。
7、點擊“首頁”工作表中插入的按鈕,根據(jù)提示,瀏覽到原始數(shù)據(jù)工作簿。
8、下一步,用鼠標(biāo)選擇要合并的數(shù)據(jù)范圍。
注意:每個工作表數(shù)據(jù)可能不一樣,比如說有的是10行數(shù)據(jù),有的是30行數(shù)據(jù)。在這里我們可以用鼠標(biāo)選擇任意工作表的一個較大范圍,比如說A1:D100,保證比最多行數(shù)的工作表數(shù)據(jù)還多就可以,一會再刪除空行。
9、點擊確定按鈕,待代碼運行完畢后,所有的數(shù)據(jù)就都合并到了“合并匯總表”中。
注意:
1)A列的文本說明右側(cè)的數(shù)據(jù)來自于原始數(shù)據(jù)表的哪個工作表;
2)數(shù)據(jù)之間會有一些空行,下面通過篩選刪除。
10、選中全部數(shù)據(jù)區(qū)域,執(zhí)行自動篩選。然后選擇其中一個字段,選擇“空白”和標(biāo)題內(nèi)容。
11、然后將篩選出來的無用行鼠標(biāo)右鍵刪除,再刪除A列整列即可,完成效果如下圖:
END
以上就是excel如何快速把多個工作表合并到一個excel表的方法,大家看明白了嗎?希望能幫助到大家,謝謝大家閱讀本篇文章!
相關(guān)文章
Excel查看數(shù)據(jù)使用數(shù)據(jù)透視表的方法(圖文教程)
EXCEL中的數(shù)據(jù)透視表比較好用.也比較常用.下面來介紹一下2012-05-31- 合并單元格經(jīng)常用到.每天都要用鼠標(biāo)操作太麻煩了,有沒有快捷鍵叫.當(dāng)然有了.下面給大家介紹一下2012-05-19
打開Excel出現(xiàn)某個對象程序庫(stdole32.tlb)丟失或損壞的解決方法
今天當(dāng)我打開excel就會出現(xiàn)stdole32.tlb的提示窗口,點確定,Excel就會開始修復(fù),但實際上此修復(fù)并不解決問題,下次打開Excel還是會出現(xiàn)此問題,通過下面的方法解決了,特2012-12-11- 我們工作中經(jīng)常會遇到這種需求,有兩個數(shù)據(jù)表,想要知道兩個表的公共部分和獨有部分,高級篩選就可以達到此目的。2012-11-07
- excel是一款數(shù)據(jù)處理工具,可以在眾多的數(shù)據(jù)中找到想要的經(jīng)過處理之后的數(shù)據(jù),而最直接方便的功能就是篩選。請閱讀下文,了解如何對數(shù)據(jù)進行篩選。2012-10-20
《Excel表格自動求和全攻略》單個公式求和批量求和詳細圖解
Excel中的公式非常強大,我們可以利用Excel完成各種公式的運算,比如Excel求和,求積,求差,求平均值等等,無論多么復(fù)雜的數(shù)據(jù)在Excel表格中都可以快速完成運算。本次Word2012-03-07- 在excel中輸入一段文字敲入回車并不能實現(xiàn)諸如word等一樣的回車效果,而是自動進入下一個單元格。那么excel中就不能實現(xiàn)一個單元格中文字回車的效果嗎?答案肯定是NO!從網(wǎng)2011-04-22
- 有些初學(xué)excel軟件的網(wǎng)友不知道在excel怎么做曲線圖2012-12-19
如何找回word,excel的密碼?excel,word的密碼找回方法匯總(圖)
word,excel文檔被加密了.怎么辦啊.別爭.有方法找回2012-05-19- Excel使我們最常用的一個辦公軟件,現(xiàn)在有些人的工作量比較大,但是他們可以工作表按橫向或者縱向進行拆分,這樣就可以在最短的時間內(nèi)完成工作量了,怎么橫向或縱向拆分工2016-06-19