首页
/
每日頭條
/
職場
/
vba多個excel文件合并為一個表格
vba多個excel文件合并為一個表格
更新时间:2025-11-10 19:02:36

合并工作簿與合并工作表,是Excel數據處理永恒的話題。原來韓老師講過用SQL語句,還講過Excel|零基礎也會合并多工作表,隻需鼠标按序點下去,今天給大家兩組代碼,每次需要合并工作簿與或是工作表時,複制過來使用就好了。

合并工作簿

代碼如下(代碼橫屏觀看效果更好):

Sub 合并工作薄() Dim FileOpen '定義打開文件變量 Dim i As Integer '定義打開文件個數變量 Application.ScreenUpdating = False '關閉屏幕更新,避免合并時屏幕閃爍 FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(.xlsx),.xlsx", MultiSelect:=True)'打開文件類型為.xlsx,并可以打開多個 i = 1 Do While i <= UBound(FileOpen) Workbooks.Open Filename:=FileOpen(i) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) '将需要合并的工作薄中工作表合并到最後一個工作表 i = i 1 Loop Application.ScreenUpdating = True '打開屏幕更新 MsgBox "已完成合并" '合并完成并提示 End Sub

代碼窗口如下:

vba多個excel文件合并為一個表格(ExcelVBA)1

效果如下:

vba多個excel文件合并為一個表格(ExcelVBA)2

合并工作表

在VBA窗口中輸入以下代碼(代碼橫屏觀看效果更好):

Sub 合并工作表() Application.ScreenUpdating = False '關閉屏幕更新,避免合并時屏幕閃爍 Dim sht As Worksheet '定義工作表變量 Dim irow%, icol% '定義行列變量 Sheet1.UsedRange.ClearContents '清除sheet1現有數據 For Each sht In Worksheets If sht.Name <> Sheet1.Name Then With sht irow = .Cells(.Rows.Count, 1).End(xlUp).Row '當前工作表數據行數 icol = .Cells(1, .Columns.Count).End(xlToLeft).Column '當前工作表數據列數 If Sheet1.Range("a1") = "" Then .Range("a1").Resize(irow, icol).Copy Sheet1.Range("a1")'當前工作表第一行複制到彙總工作表 Else .Range("a2").Resize(irow - 1, icol).Copy Sheet1.Range("a" & Sheet1.Cells(Sheet1.Rows.Count, 1).End(xlUp).Row 1)'當前工作表除第一行以外的數據複制到彙總工作表 End If End With End If Next Application.ScreenUpdating = True'打開屏幕更新 End Sub

如下圖:

vba多個excel文件合并為一個表格(ExcelVBA)3

效果如下:

vba多個excel文件合并為一個表格(ExcelVBA)4

不要怕VBA,你可以從模仿開始寫起的,寫多了,見識多了,你也會了。當然,如果有編輯的基礎的,學的快一些,如果沒有編輯基礎的朋友,那要先去了解變量、語句、算法、對象的概念了。

------------------------------------------

--------------------------------------------

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
在工地受傷後怎麼申請工傷認定
在工地受傷後怎麼申請工傷認定
在工地受傷後怎麼申請工傷認定?通常情況下,職工在工作過程中受到傷害,根據《工傷保險條例》第十七條第四款規定:“按照本條第一款規定應當由省級社會保險行政部門進行工傷認定的事項,根據屬地原則由用人單位所在地的設區的市級社會保險行政部門辦理”但現...
2025-11-10
gpu和cpu是兩塊芯片嗎
gpu和cpu是兩塊芯片嗎
衆所周知,近些年我國華為企業在國際上的發展遇到了困境,甚至将影響華為企業的存在與否,究其根源在于華為的成長引起了美國的恐慌,尤其是華為企業在5G網絡技術領域的發展,給美國企業帶來了巨大的壓力。因此美國多次強調将停止為華為甚至是中國的其他企業...
2025-11-10
領導說辛苦了該怎麼回
領導說辛苦了該怎麼回
領導說辛苦了該怎麼回?當你真的很辛苦時,比如你已經連續加班了一個星期,這真的是非常辛苦;或者你做出了什麼不同凡響的業績,背後必然是付出了很大的努力領導說一句“辛苦了”,既是對你的肯定,又是對你的慰問這時你可以回答“隻要結果是好的,過程再辛苦...
2025-11-10
社會工作者職業資格證書好考嗎
社會工作者職業資格證書好考嗎
最近不少備考社會工作者的小夥伴,問老師:“社會工作者職業資格證書有什麼用”,為了解答大家的疑惑,老師整理了相關的資料,下面就一起來看看吧!社工證有哪些用處社區招考加分目前各地社區工作師招考中,會對持有社會工作師證的考生有加分和優先錄取的政策...
2025-11-10
約翰遜當首相多長時間了
約翰遜當首相多長時間了
據環球網援引多家英媒報道,英國首相約翰遜宣布辭職後首次接受采訪時表示,他不想對自己是否感到背叛一事發表評論,理由是不想影響接下來的首相選舉。表面上看,約翰遜被“逼宮”下台是遭到了保守黨同僚的背叛。實際上,迫使約翰遜下台的真正導火索——包庇深...
2025-11-10
Copyright 2023-2025 - www.tftnews.com All Rights Reserved