林屹,林屹講師,林屹聯(lián)系方式,林屹培訓(xùn)師-【中華講師網(wǎng)】
AI+PPT/Excel/Word/Office/WPS辦公
41
鮮花排名
0
鮮花數(shù)量
林屹:快速合并同一文件夾下多個(gè)工作表
2016-01-20 3704

快速合并同一文件夾下多個(gè)工作表

上周我去都江堰某企業(yè)上課,其中一位學(xué)員問(wèn)我一個(gè)問(wèn)題:“林老師,如何快速合并同一文件夾下的多個(gè)工作表?”


我原本以為只是一種做表思路,因?yàn)橄嗤瑢傩缘臄?shù)據(jù)區(qū)域應(yīng)該放在同一工作表中。所以我問(wèn):“為什么要將數(shù)據(jù)放在多個(gè)工作表中而不是一張工作表上呢?”


這位學(xué)員繼續(xù)解釋:“這是他們需要下發(fā)至各個(gè)部門(mén),由他們分別填寫(xiě)的工作表,在收集回來(lái)的時(shí)候需要將這些工作表匯總成一個(gè)工作???而每次我都要將幾十張表進(jìn)行手工匯總,很麻煩的!”


的確很麻煩!合并多張工作薄或者工作表是我們?nèi)粘9ぷ髦斜容^頻繁的操作,而大多數(shù)人都是采用手工處理的方式——因?yàn)檫@個(gè)看似簡(jiǎn)單的操作由于涉及到要打開(kāi)工作薄文件才能實(shí)現(xiàn)引用,所以用EXCEL自帶的“合并計(jì)算”或是“數(shù)據(jù)透視表”都無(wú)法進(jìn)行最簡(jiǎn)單的合并多個(gè)工作薄操作。


而我也沒(méi)有找到更為簡(jiǎn)便的方式解決這個(gè)問(wèn)題,我目前只能用編寫(xiě)VBA代碼的方式合并同一文件夾下的不同工作薄,如果大家有更為便捷的好方法,請(qǐng)告訴我,讓我學(xué)習(xí),共同進(jìn)步!


我想到的方法如下:


第一步:將多個(gè)需要合并的工作薄放在同一個(gè)文件夾下,并新建一個(gè)文件。如下圖,我新建了一個(gè)名為“林屹老師-合并工作薄.xlsx”的工作薄。


第二步,打開(kāi)這個(gè)工作薄,并按快捷鍵Alt+F11進(jìn)入VBE編輯器頁(yè)面,如下圖。


第三步,我們要在這張工作表“Sheet1”上匯總所有數(shù)據(jù),所以現(xiàn)在給它新建一個(gè)自定義命令。

雙擊左側(cè)的“Sheet1”,彈出代碼錄入窗口。順便說(shuō)一下,如果沒(méi)有左側(cè)的“工程資源管理器”,點(diǎn)擊上方命令欄中的“工程資源管理器”按鈕即可,如下圖:


接下來(lái),在右邊代碼窗口錄入代碼(微信用戶可復(fù)制此代碼到電腦上):

Sub 合并當(dāng)前文件夾下所有工作薄中的工作表()

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 "此自動(dòng)合并命令共合并了 & Num & "個(gè)工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub


然后點(diǎn)擊“運(yùn)行子過(guò)程”按鈕,或按“F5”鍵執(zhí)行此命令,如下圖:


第四步,等一會(huì)兒(時(shí)間因工作薄數(shù)量和電腦處理速度不同),彈出對(duì)話框,代表合并完畢,如下圖:


關(guān)閉VBE編輯器,回到工作表Sheet1中,可以看到:該文件件下的所以工作薄中的工作表都出現(xiàn)在了工作表Sheet1中,一共有201行數(shù)據(jù),如下圖:


通過(guò)上述幾步,就實(shí)現(xiàn)了數(shù)據(jù)合并轉(zhuǎn)移。如果要將此代碼保存在EXCEL工作薄中,將此EXCEL工作薄另存為“EXCEL啟用宏的工作?。?.xlsm)”即可,如下圖:


最后林老師再啰嗦幾句:

  1. 在合并多個(gè)工作薄時(shí),最好各個(gè)工作薄的格式是一致的,方便匯總后的處理;

  2. 如果是自己的工作表而非他人傳遞給我們的工作表,應(yīng)該從一開(kāi)始設(shè)計(jì)表格時(shí)就采用單個(gè)工作表的格式進(jìn)行數(shù)據(jù)記錄,除非你想自己累死自己;

  3. VBA代碼不是萬(wàn)能的,本例也只是我想不到更好解決辦法的一個(gè)“笨”辦法,如果有更簡(jiǎn)單的方法,就不要用VBA——畢竟我們自己設(shè)計(jì)的VBA經(jīng)歷的檢驗(yàn)次數(shù)不多,難免存在各類(lèi)BUG,跟微軟自帶的功能無(wú)法相提并論——還是那句話:VBA雖好,可不要貪杯哦!


全部評(píng)論 (0)
熱門(mén)領(lǐng)域講師
互聯(lián)網(wǎng)營(yíng)銷(xiāo) 互聯(lián)網(wǎng) 新媒體運(yùn)營(yíng) 短視頻 電子商務(wù) 社群營(yíng)銷(xiāo) 抖音快手 新零售 網(wǎng)絡(luò)推廣 領(lǐng)導(dǎo)力 管理技能 中高層管理 中層管理 團(tuán)隊(duì)建設(shè) 團(tuán)隊(duì)管理 高績(jī)效團(tuán)隊(duì) 創(chuàng)新管理 溝通技巧 執(zhí)行力 阿米巴 MTP 銷(xiāo)售技巧 品牌營(yíng)銷(xiāo) 銷(xiāo)售 大客戶營(yíng)銷(xiāo) 經(jīng)銷(xiāo)商管理 銷(xiāo)講 門(mén)店管理 商務(wù)談判 經(jīng)濟(jì)形勢(shì) 宏觀經(jīng)濟(jì) 商業(yè)模式 私董會(huì) 轉(zhuǎn)型升級(jí) 股權(quán)激勵(lì) 納稅籌劃 非財(cái)管理 培訓(xùn)師培訓(xùn) TTT 公眾演說(shuō) 招聘面試 人力資源 非人管理 服裝行業(yè) 績(jī)效管理 商務(wù)禮儀 形象禮儀 職業(yè)素養(yǎng) 新員工培訓(xùn) 班組長(zhǎng)管理 生產(chǎn)管理 精益生產(chǎn) 采購(gòu)管理 易經(jīng)風(fēng)水 供應(yīng)鏈管理 國(guó)學(xué) 國(guó)學(xué)文化 國(guó)學(xué)管理 國(guó)學(xué)經(jīng)典 易經(jīng) 易經(jīng)與管理 易經(jīng)智慧 家居風(fēng)水 國(guó)際貿(mào)易
鮮花榜
頭像
+300朵
頭像
+297朵
頭像
+198朵
頭像
+99朵
頭像
+99朵
頭像
+99朵
頭像
+99朵
頭像
+61朵
頭像
+19朵

Copyright©2008-2025 版權(quán)所有 浙ICP備06026258號(hào)-1 浙公網(wǎng)安備 33010802003509號(hào) 杭州講師網(wǎng)絡(luò)科技有限公司
講師網(wǎng) www.3969a.com 直接對(duì)接10000多名優(yōu)秀講師-省時(shí)省力省錢(qián)
講師網(wǎng)常年法律顧問(wèn):浙江麥迪律師事務(wù)所 梁俊景律師 李小平律師