不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦>學習電腦>工具軟件>辦公軟件學習>Excel教程>Excel表格>

excel把多個表格進行快速合并的教程

時間: 業(yè)華773 分享

  在Excel中在錄入數(shù)據(jù)的時候因為分開錄入,所以并不在同一個表格,如果需要把多個表快速的進行合并就要利用代碼進行快速合并了。接下來是學習啦小編為大家?guī)淼膃xcel把多個表格進行快速合并的教程,希望對你有用。

  excel把多個表格進行快速合并的教程

  多個表格快速合并步驟1:原始數(shù)據(jù)所在工作簿包含多個格式相同的工作表,只不過每個工作表內(nèi)容不同,比如說不同人名的工作表數(shù)據(jù)或者不同部門填寫的數(shù)據(jù)。


excel把多個表格進行快速合并的教程圖1

  多個表格快速合并步驟2:在原始數(shù)據(jù)同目錄下新建一個工作簿,建立兩個工作表,名稱分別為“首頁”和“合并匯總表”。


excel把多個表格進行快速合并的教程圖2

excel把多個表格進行快速合并的教程圖3

  多個表格快速合并步驟3:按Alt+F11進入VBA代碼編輯和調(diào)試界面。


excel把多個表格進行快速合并的教程圖4

  多個表格快速合并步驟4:根據(jù)下圖提示,插入一個模塊。


excel把多個表格進行快速合并的教程圖5

excel把多個表格進行快速合并的教程圖6

  多個表格快速合并步驟5:將下述代碼粘貼到模塊空白處:

  Sub CombineSheetsCells()

  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


excel把多個表格進行快速合并的教程圖7

  多個表格快速合并步驟6:在“首頁”工作表中按下圖示范插入一個窗體控件并指定宏為插入的代碼名稱。


excel把多個表格進行快速合并的教程圖8

excel把多個表格進行快速合并的教程圖9

  多個表格快速合并步驟7:點擊“首頁”工作表中插入的按鈕,根據(jù)提示,瀏覽到原始數(shù)據(jù)工作簿。


excel把多個表格進行快速合并的教程圖10

  多個表格快速合并步驟8:下一步,用鼠標選擇要合并的數(shù)據(jù)范圍。

  注意:每個工作表數(shù)據(jù)可能不一樣,比如說有的是10行數(shù)據(jù),有的是30行數(shù)據(jù)。在這里我們可以用鼠標選擇任意工作表的一個較大范圍,比如說A1:D100,保證比最多行數(shù)的工作表數(shù)據(jù)還多就可以,一會再刪除空行。


excel把多個表格進行快速合并的教程圖11

excel把多個表格進行快速合并的教程圖12

  多個表格快速合并步驟9:點擊確定按鈕,待代碼運行完畢后,所有的數(shù)據(jù)就都合并到了“合并匯總表”中。

  注意:

  1)A列的文本說明右側(cè)的數(shù)據(jù)來自于原始數(shù)據(jù)表的哪個工作表;

  2)數(shù)據(jù)之間會有一些空行,下面通過篩選刪除。


excel把多個表格進行快速合并的教程圖13

  多個表格快速合并步驟10:選中全部數(shù)據(jù)區(qū)域,執(zhí)行自動篩選。然后選擇其中一個字段,選擇“空白”和標題內(nèi)容。


excel把多個表格進行快速合并的教程圖14

  多個表格快速合并步驟11:然后將篩選出來的無用行鼠標右鍵刪除,再刪除A列整列即可,完成效果如下圖:


excel把多個表格進行快速合并的教程圖15

excel把多個表格進行快速合并的教程圖16

636870