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

有這么一種情況,就是我們有很多張excel,而且excel表里面的公式基本一樣,我們就想快速的把這些excel合并在一起,意思在合并在一個(gè)excel頁(yè)面,這樣可以方便我們分析和統(tǒng)計(jì),那么excel如何快速把多個(gè)工作表合并到一個(gè)excel表?下面為大家介紹這種方法,希望能幫助到大家。

Excel2003綠色版 EXCEL2003精簡(jiǎn)綠色版 (附excel2003綠色工具)
- 類(lèi)型:辦公軟件
- 大?。?/span>13.3MB
- 語(yǔ)言:簡(jiǎn)體中文
- 時(shí)間:2012-06-19
操作步驟:
1、原始數(shù)據(jù)所在工作簿包含多個(gè)格式相同的工作表,只不過(guò)每個(gè)工作表內(nèi)容不同,比如說(shuō)不同人名的工作表數(shù)據(jù)或者不同部門(mén)填寫(xiě)的數(shù)據(jù)。
2、在原始數(shù)據(jù)同目錄下新建一個(gè)工作簿,建立兩個(gè)工作表,名稱(chēng)分別為“首頁(yè)”和“合并匯總表”。
3、按Alt+F11進(jìn)入VBA代碼編輯和調(diào)試界面。
4、根據(jù)下圖提示,插入一個(gè)模塊。
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 "沒(méi)有選擇文件!請(qǐng)重新選擇一個(gè)被合并文件!", vbInformation, "取消"
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:="請(qǐng)選擇要合并的數(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、在“首頁(yè)”工作表中按下圖示范插入一個(gè)窗體控件并指定宏為插入的代碼名稱(chēng)。
7、點(diǎn)擊“首頁(yè)”工作表中插入的按鈕,根據(jù)提示,瀏覽到原始數(shù)據(jù)工作簿。
8、下一步,用鼠標(biāo)選擇要合并的數(shù)據(jù)范圍。
注意:每個(gè)工作表數(shù)據(jù)可能不一樣,比如說(shuō)有的是10行數(shù)據(jù),有的是30行數(shù)據(jù)。在這里我們可以用鼠標(biāo)選擇任意工作表的一個(gè)較大范圍,比如說(shuō)A1:D100,保證比最多行數(shù)的工作表數(shù)據(jù)還多就可以,一會(huì)再刪除空行。
9、點(diǎn)擊確定按鈕,待代碼運(yùn)行完畢后,所有的數(shù)據(jù)就都合并到了“合并匯總表”中。
注意:
1)A列的文本說(shuō)明右側(cè)的數(shù)據(jù)來(lái)自于原始數(shù)據(jù)表的哪個(gè)工作表;
2)數(shù)據(jù)之間會(huì)有一些空行,下面通過(guò)篩選刪除。
10、選中全部數(shù)據(jù)區(qū)域,執(zhí)行自動(dòng)篩選。然后選擇其中一個(gè)字段,選擇“空白”和標(biāo)題內(nèi)容。
11、然后將篩選出來(lái)的無(wú)用行鼠標(biāo)右鍵刪除,再刪除A列整列即可,完成效果如下圖:
END
以上就是excel如何快速把多個(gè)工作表合并到一個(gè)excel表的方法,大家看明白了嗎?希望能幫助到大家,謝謝大家閱讀本篇文章!
相關(guān)文章
Excel查看數(shù)據(jù)使用數(shù)據(jù)透視表的方法(圖文教程)
EXCEL中的數(shù)據(jù)透視表比較好用.也比較常用.下面來(lái)介紹一下2012-05-31- 合并單元格經(jīng)常用到.每天都要用鼠標(biāo)操作太麻煩了,有沒(méi)有快捷鍵叫.當(dāng)然有了.下面給大家介紹一下2012-05-19
打開(kāi)Excel出現(xiàn)某個(gè)對(duì)象程序庫(kù)(stdole32.tlb)丟失或損壞的解決方法
今天當(dāng)我打開(kāi)excel就會(huì)出現(xiàn)stdole32.tlb的提示窗口,點(diǎn)確定,Excel就會(huì)開(kāi)始修復(fù),但實(shí)際上此修復(fù)并不解決問(wèn)題,下次打開(kāi)Excel還是會(huì)出現(xiàn)此問(wèn)題,通過(guò)下面的方法解決了,特2012-12-11- 我們工作中經(jīng)常會(huì)遇到這種需求,有兩個(gè)數(shù)據(jù)表,想要知道兩個(gè)表的公共部分和獨(dú)有部分,高級(jí)篩選就可以達(dá)到此目的。2012-11-07
- excel是一款數(shù)據(jù)處理工具,可以在眾多的數(shù)據(jù)中找到想要的經(jīng)過(guò)處理之后的數(shù)據(jù),而最直接方便的功能就是篩選。請(qǐng)閱讀下文,了解如何對(duì)數(shù)據(jù)進(jìn)行篩選。2012-10-20
《Excel表格自動(dòng)求和全攻略》單個(gè)公式求和批量求和詳細(xì)圖解
Excel中的公式非常強(qiáng)大,我們可以利用Excel完成各種公式的運(yùn)算,比如Excel求和,求積,求差,求平均值等等,無(wú)論多么復(fù)雜的數(shù)據(jù)在Excel表格中都可以快速完成運(yùn)算。本次Word2012-03-07- 在excel中輸入一段文字敲入回車(chē)并不能實(shí)現(xiàn)諸如word等一樣的回車(chē)效果,而是自動(dòng)進(jìn)入下一個(gè)單元格。那么excel中就不能實(shí)現(xiàn)一個(gè)單元格中文字回車(chē)的效果嗎?答案肯定是NO!從網(wǎng)2011-04-22
- 有些初學(xué)excel軟件的網(wǎng)友不知道在excel怎么做曲線圖2012-12-19
如何找回word,excel的密碼?excel,word的密碼找回方法匯總(圖)
word,excel文檔被加密了.怎么辦啊.別爭(zhēng).有方法找回2012-05-19- Excel使我們最常用的一個(gè)辦公軟件,現(xiàn)在有些人的工作量比較大,但是他們可以工作表按橫向或者縱向進(jìn)行拆分,這樣就可以在最短的時(shí)間內(nèi)完成工作量了,怎么橫向或縱向拆分工2016-06-19