九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
多表合并,你要的全在這里了,收藏好了!



時不時就有同學在問,一個工作簿中每天一份報表,一個月下來30份報表需要匯總成一張表,復制粘貼來的比較慢,還有的是有很多個格式一樣的表位于不同的工作簿中,需要合并到一個工作表里,等等……


你可以到本公眾號后臺回復excel擴展,去下載小工具,里面有多表合并功能,也可以利用數(shù)據(jù)查詢功能合并。


今天我們來講講利用VBA實現(xiàn)多表合并的技巧,大家可以把代碼收藏好,使用的時候非常的方便。


1
工作簿內(nèi)多個sheet合并到一個sheet




上邊動圖中有1、2、3、4,4個sheet,分別是不同部門的人員信息,需要合并到匯總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 '當前工作簿下的全部工作表已經(jīng)合并完畢!', vbInformation, '提示'

End Sub


2
多個工作簿中的sheet合并到一個sheet



大家仔細觀察,工作簿1中有兩個sheet,合并的時候都會合并進去。


代碼如下:


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


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 & '\' & '*.xlsx')


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 & '個工作薄下的全部工作表。如下:' & Chr(13) & WbN, vbInformation, '提示'


End Sub


注意代碼紅色字體部分,根據(jù)自己的版本更改。


3
多個工作簿中的sheet1合并到新的工作簿中



多個工作簿中的表合并到一個工作簿中,不進行匯總,只是放到一個工作簿,保留原來的表名。


代碼如下:


Sub 匯總數(shù)據(jù)()

Application.ScreenUpdating = False

 Dim wb, wb1 As Excel.Workbook

Dim sh As Excel.Worksheet

s = Split(ThisWorkbook.Name, '.')(1)


f = Dir(ThisWorkbook.Path & '\*' & s) '生成查找EXCEL的目錄

Do While f <> '' '在目錄中循環(huán)

If f <> ThisWorkbook.Name Then  '如果不是打開的工作簿


Set wb = Workbooks.Open(ThisWorkbook.Path & '\' & f)


wb.Worksheets('sheet1').Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)

ActiveSheet.Name = Split(wb.Name, '.')(0)

    wb.Close

    End If


    f = Dir

    Loop

ThisWorkbook.Worksheets('匯總').Activate

    Application.ScreenUpdating = True

End Sub


三種情況下的合并全在此了,不需要懂得VBA,只要復制上面代碼運行下就OK了,方便吧!


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
30,多工作簿匯總(GetObject)
【新手必備】VBA練手專題
不要再用Ctrl C了,工作簿拆分、合并一鍵生成,工作再忙也要看……
刪除 定義名稱的 vba 總結
Excel_VBA從關閉的工作簿中取值多種實現(xiàn)方法(代碼)
Excel如何快速合并多個工作簿至一個工作簿中?
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服