可能大家遇到過(guò)這樣的情況,有時(shí)候領(lǐng)導(dǎo)發(fā)下來(lái)一個(gè)表格,需要統(tǒng)計(jì)每個(gè)人的信息,大家都填好后,還要匯總到一起。如果一個(gè)一個(gè)復(fù)制的話,還是比較繁瑣,現(xiàn)在給大家提供一種思路。 例子是這樣的,我這里有三個(gè)工作簿信息已經(jīng)填好,每個(gè)工作簿的格式是一樣的。 下邊要實(shí)現(xiàn)這一功能,需要用到VBA,現(xiàn)在把VBA代碼貼出來(lái)。 Sub 工作薄間合并() Application.ScreenUpdating = False FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls*),*.xls", MultiSelect:=True) X = 1 While X <= UBound(FileOpen) Set ss = Workbooks.Open(Filename:=FileOpen(X)) ss.Activate Z = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1 Sheets(1).Range("A2:L4").Copy ThisWorkbook.Sheets(1).Cells(Z, 1) X = X + 1 ss.Close False Wend Application.ScreenUpdating = True MsgBox "所選工作簿已經(jīng)合并完畢!", vbInformation, "提示" End Sub 我們先打開(kāi)三個(gè)工作簿其中一個(gè),這里我開(kāi)的是 小明.xlsx。 然后右擊sheet1(該工作表的名稱(chēng)),點(diǎn)擊查看代碼,在彈出的窗口里輸入上述代碼。然后點(diǎn)擊三角按鈕運(yùn)行代碼。 這時(shí)會(huì)彈出打開(kāi)對(duì)話框,打開(kāi)其余的表格。 返回到工作表中,我們發(fā)現(xiàn),幾個(gè)表的數(shù)據(jù)已經(jīng)合并好了。 代碼說(shuō)明: 你可能需要修改的代碼,是下圖中加底色的部分。 黃色:是代表的本工作表sheet1,即打開(kāi)的工作表,如果你的sheet1是別的名(比如“信息”),將黃色部分改為thisworkbook.sheets(“信息”) 綠色:是代表的其他工作表sheet1,如果是別的名字(比如“信息”),請(qǐng)改為sheets(“信息”) 青色:索引的是要合并的表格信息所占的區(qū)域,注意請(qǐng)不要包含表頭,如果每個(gè)工作表內(nèi)條數(shù)不一,請(qǐng)?jiān)O(shè)置一個(gè)最大的,包含空行也沒(méi)關(guān)系,會(huì)自動(dòng)剔除。比如我設(shè)置的是A2:L4,這個(gè)區(qū)域完全包含了表格的內(nèi)容,并且去掉了表頭信息。 如果你之前沒(méi)接觸過(guò)VBA,千萬(wàn)別退縮,有時(shí)候不需要知道他的工作原理,只需照著做就行了。一段小的代碼,可以減少很多的工作。多試試,一定會(huì)成功的。 |
|
來(lái)自: 云中明月亮 > 《待分類(lèi)》