用宏可以很方便的實現如下:SubUnionWorksheets()Application.ScreenUpdating=FalseDimdirnameAsStringDimnmAsStringnm=ActiveWorkbook.Namedirname=Dir("E:\123\*.xls")Cells.ClearDoWhiledirname<>""Ifdirname<>nmThenWorkbooks.OpenFilename:="E:\123\"&dirnameWorkbooks(nm).Activate"複製新開啟工作簿的第一個工作表的已用區域到當前工作表Workbooks(dirname).Sheets(1).UsedRange.Copy_Range("A65536").End(xlUp).Offset(1,0)Workbooks(dirname).CloseFalseEndIfdirname=DirLoopEndSub新建一個EXCEL工作簿,開啟開發工具裡面的VisualBasic把上面的程式碼複製進去,然後根據下面的提示適當修改即可。其中的dirname=Dir("E:\123\*.xls")Workbooks.OpenFilename:="E:\123\"&dirname是資料夾的路徑,根據自己電腦的資料夾路徑修改就可以。Range("A65536").End(xlUp).Offset(1,0)這個A65536是行數,因為考慮是03版的所以用了這個,行數也是可以自己調大的。這個宏可以實現彙總同一個資料夾下的所有工作薄的功能。
用宏可以很方便的實現如下:SubUnionWorksheets()Application.ScreenUpdating=FalseDimdirnameAsStringDimnmAsStringnm=ActiveWorkbook.Namedirname=Dir("E:\123\*.xls")Cells.ClearDoWhiledirname<>""Ifdirname<>nmThenWorkbooks.OpenFilename:="E:\123\"&dirnameWorkbooks(nm).Activate"複製新開啟工作簿的第一個工作表的已用區域到當前工作表Workbooks(dirname).Sheets(1).UsedRange.Copy_Range("A65536").End(xlUp).Offset(1,0)Workbooks(dirname).CloseFalseEndIfdirname=DirLoopEndSub新建一個EXCEL工作簿,開啟開發工具裡面的VisualBasic把上面的程式碼複製進去,然後根據下面的提示適當修改即可。其中的dirname=Dir("E:\123\*.xls")Workbooks.OpenFilename:="E:\123\"&dirname是資料夾的路徑,根據自己電腦的資料夾路徑修改就可以。Range("A65536").End(xlUp).Offset(1,0)這個A65536是行數,因為考慮是03版的所以用了這個,行數也是可以自己調大的。這個宏可以實現彙總同一個資料夾下的所有工作薄的功能。