當(dāng)前位置:財(cái)稅問(wèn)題 >
實(shí)務(wù)
問(wèn)題已解決
如何將多個(gè)Excel文件合并成一個(gè)有多個(gè)sheet的Excel文件
溫馨提示:如果以上題目與您遇到的情況不符,可直接提問(wèn),隨時(shí)問(wèn)隨時(shí)答
速問(wèn)速答如何將多個(gè)Excel文件合并成一個(gè)有多個(gè)sheet的Excel文件?
1、新建一個(gè)文件夾,將需要合并的excel文檔復(fù)制到該文檔目錄下。
2、新建一個(gè)EXCEL空白文檔,鼠標(biāo)移動(dòng)到在sheet工作表上單擊右鍵,選擇“查看代碼”選項(xiàng),進(jìn)入VBA控制臺(tái)。
3、在菜單欄點(diǎn)擊“插入”菜單,選擇“模塊”選項(xiàng),進(jìn)入模塊編輯界面。
4、在編輯框中復(fù)制以下代碼,注意符號(hào),需是英文狀態(tài)下。
'功能:把多個(gè)excel工作簿的第一個(gè)sheet工作表合并到一個(gè)excel工作簿的多個(gè)sheet工作表,新工作表的名稱等于原工作簿的名稱Sub Books2Sheets() '定義對(duì)話框變量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一個(gè)工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then
'定義單個(gè)文件變量 Dim vrtSelectedItem As Variant
'定義循環(huán)變量 Dim i As Integer i = 1 '開(kāi)始文件檢索 For Each vrtSelectedItem In .SelectedItems
'打開(kāi)被合并工作簿 Dim tempwb As Workbook Set tempwb = Workbooks.Open(vrtSelectedItem)
'復(fù)制工作表 tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
'把新工作簿的工作表名字改成被復(fù)制工作簿文件名,這兒應(yīng)用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
'關(guān)閉被合并工作簿 tempwb.Close SaveChanges:=False i = i + 1 Next vrtSelectedItem End If End With Set fd = Nothing
End Sub
5、代碼輸入后,點(diǎn)擊菜單項(xiàng)中“運(yùn)行”,選擇“運(yùn)行子過(guò)程”選項(xiàng),或者按下F5快捷鍵,運(yùn)行代碼。
6、運(yùn)行代碼后,會(huì)彈出文檔選擇界面,找到新建文件夾的路徑,選擇你所需要合并的文檔,選擇文檔后,點(diǎn)擊“打開(kāi)”,代碼正在運(yùn)行,運(yùn)行時(shí)間視文檔數(shù)目而定。
7、代碼段運(yùn)行結(jié)束后,就會(huì)出現(xiàn)已經(jīng)合并完成的界面。
2022 03/09 10:53
閱讀 2564