Sub 工作薄間工作表合併()Dim FileOpenDim X As IntegerApplication.ScreenUpdating = FalseFileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel檔案(*.xls),*.xls", MultiSelect:=True, Title:="合併工作薄")X = 1While X <= UBound(FileOpen)Workbooks.Open Filename:=FileOpen(X)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)X = X + 1WendExitHandler:Application.ScreenUpdating = TrueExit Suberrhadler:MsgBox Err.DescriptionEnd Sub
為了實現將無數(我的300多)個有相同資料格式的excel表文件合併到一個excel的一個工作簿裡面去方便進行後續的篩選,提取資料,分析等等。需要分兩步走:第一步:將所有的excel合併到一個excel之中;剛才的多表之中的內容化身為現在的一個表,下邊的多個sheet。第二步:把這個excel之中的多個sheet合併到一個sheet之中。需要的基礎軟體:擁有VBA的excel軟體,可以用微軟的包含有VBA的office,也可以用中國產的wps之中的專業版。下邊說具體步驟一不同表合併到一個有很多sheet的表裡
Sub 工作薄間工作表合併()Dim FileOpenDim X As IntegerApplication.ScreenUpdating = FalseFileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel檔案(*.xls),*.xls", MultiSelect:=True, Title:="合併工作薄")X = 1While X <= UBound(FileOpen)Workbooks.Open Filename:=FileOpen(X)Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)X = X + 1WendExitHandler:Application.ScreenUpdating = TrueExit Suberrhadler:MsgBox Err.DescriptionEnd Sub
5、關閉VBA編輯視窗。6、在excel中,工具---宏---宏,選“工作薄間工作表合併”,然後“執行”。7、在開啟的對話視窗中,選擇你需要合併的工作表,如果多的話,可以放在一個資料夾,然後全選。8、等待。。。。ok!
二 將一個表裡的很多sheet合併到一個sheet
Sub 合併當前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "當前工作簿下的全部工作表已經合併完畢!", vbInformation, "提示"
End Sub
執行,等待……合併好了後會彈出提示。