Trả lời :
Ý tưởng dồn hàng trăm file độc lập thành 1 file duy nhất là không hay, ngược với cách quản lý khoa học thông thường. Thực tế, để quản lý thông tin lớn, người ta thường chia nhỏ nó ra thành nhiều phần và chứa chúng lên nhiều file độc lập nhau, mỗi lần cần xử lý thành phần nào thì chỉ mở file tương ứng chứ không cần đụng chạm tới các file còn lại. Tuy nhiên nếu muốn dồn các file Excel lại thì bạn hãy viết code thực hiện tự động. Thí dụ đoạn code VB sau đây cho phép copy các worksheet của file c:\MySource.xls sang file c:\MyDest.xls, dựa vào đoạn code này bạn có thể phát triển lên để copy nhiều file *.xls vào 1 file *.xls. Bạn có thể dùng lệnh Dir của VB để duyệt tìm các file *.xls có trên đĩa cứng, ứng với mỗi file tìm được, bạn copy các worksheet của nó sang file kết quả như đoạn code dưới đây:
Private Sub Command1_Click()
'khai báo các biến cần dùng
Dim fWorking As Boolean
Dim oExcelSrc As Excel.Application
Dim oExcelDes As Excel.Application
Dim oBookSrc As Excel.Workbook
Dim oBookDes As Excel.Workbook
Dim oSheetSrc As Excel.Worksheet
Dim oSheetDes As Excel.Worksheet
'Mở workbook Excel nguồn
Set oExcelSrc = New Excel.Application
Set oBookSrc = oExcelSrc.Workbooks.Open("c:\MySource.xls")
'Mở workbook Excel kết quả
Set oExcelDes = New Excel.Application
Set oBookDes = oExcelDes.Workbooks.Open("c:\MyDest.xls")
'nếu muốn tạo mới thì dùng lệnh:
'Set oBookDes = oExcelDes.Workbooks.Add
'duyệt từng worksheet trong file nguồn
For i = 1 To oBookSrc.Worksheets.Count
Set oSheetSrc = oBookSrc.Worksheets(i)
'chọn toàn bộ cell và copy vào Clipboard
oSheetSrc.Activate
oSheetSrc.Cells.Select
oExcelSrc.ActiveWindow.Selection.Copy
'tạo mới 1 worksheet trong file đích
Set oSheetDes = oBookDes.Worksheets.Add(, oBookDes.Worksheets(oBookDes.Worksheets.Count))
'dán nội dung Clipboard vào worksheet
oSheetDes.Activate
oSheetDes.Cells.Select
oSheetDes.Paste
Next i
'lưu kết quả lên file đích
oBookDes.SaveAs "C:\MyDest.xls", xlWorkbookNormal
'dừng các ứng dụng Excel đã chạy
oExcelSrc.Quit
oExcelDes.Quit
End Sub
Lưu ý rằng đoạn code VB trên có sử dụng các đối tượng Excel Automation nên để chạy được, bạn cần chọn menu Project.References của VB, duyệt tìm và chọn thành phần "Microsoft Excel x.y Object Library" để "add" nó vào Project ứng dụng của bạn. Ngoài ra, việc dồn nhiều worksheet trên các file độc lập lại thành một file có thể phát sinh nhiều vấn đề như tranh chấp thông tin, mất nhất quán thông tin... vì có thể tên các worksheet của các file *.xls trùng nhau hay trong các worksheet có dùng các thông tin liên kết...