可能大家遇到過這樣的情況,有時候領導發下來一個表格,需要統計每個人的信息,大家都填好后,還要匯總到一起。如果一個一個復制的話,還是比較繁瑣,現在給大家提供一種思路。 例子是這樣的,我這里有三個工作簿信息已經填好,每個工作簿的格式是一樣的。 下邊要實現這一功能,需要用到VBA,現在把VBA代碼貼出來。 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 "所選工作簿已經合并完畢!", vbInformation, "提示" End Sub 我們先打開三個工作簿其中一個,這里我開的是 小明.xlsx。
這時會彈出打開對話框,打開其余的表格。 返回到工作表中,我們發現,幾個表的數據已經合并好了。 代碼說明: 你可能需要修改的代碼,是下圖中加底色的部分。 黃色:是代表的本工作表sheet1,即打開的工作表,如果你的sheet1是別的名(比如“信息”),將黃色部分改為thisworkbook.sheets(“信息”) 綠色:是代表的其他工作表sheet1,如果是別的名字(比如“信息”),請改為sheets(“信息”) 青色:索引的是要合并的表格信息所占的區域,注意請不要包含表頭,如果每個工作表內條數不一,請設置一個最大的,包含空行也沒關系,會自動剔除。比如我設置的是A2:L4,這個區域完全包含了表格的內容,并且去掉了表頭信息。
|
|