Cho hỏi cách "Gom dữ liệu từ các file Excel ?"

Liên hệ QC

hamhoc2010

Thành viên mới
Tham gia
29/7/10
Bài viết
3
Được thích
0
Chào các bạn

Minh đang có ý định gom dữ liệu từ các file Excel khác nhau lại, nhưng chưa biết làm thế nào. Các bạn nào biết chỉ cho mình với. Mình chưa viết lập trình trên Excel bao giờ.

Mong muốn của mình như sau:
Chương trình sẽ tự động dò tìm tên file Excel (ví dụ: NB01.xls, NB02.xls, ...) rồi tổng hợp dữ liệu từ các file này thành 1 file Excel duy nhất.

Rat mong cac ban giup do, viet lap trinh giup minh. Thanks nhieu nhieu

Mình có gửi 1 đính kèm file mẫu file (có 2 file Excel) để các bạn viết giúp code tổng hợp. Bạn nhớ viết code mở để tổng hợp được từ nhiều file nhé ... thanks again.
 

File đính kèm

Bạn phải chú ý ghi tiêu đề bằng tiếng Việt có dấu. Lần này tôi sửa cho bạn, lần sau sẽ bị xoá ngay.
Bạn đánh dấu được cho cả bài viết mà không đánh dấu nổi cho cái tiêu đề? Trong khi tiêu đề là cái quan trọng nhất để cho bài của bạn được đọc và trả lời?
 
Lần chỉnh sửa cuối:
Upvote 0
Mình không rành lắm về VBA, nhưng hôm trước mình có gặp trường hợp tương tự như bạn và mình search trên web được đoạn code này, hic hic, thế là mình xài ngon lành luôn.

Bạn chép đoạn code dưới đây, rồi mở 1 file Excel nào ra, nhấn Atl+ F11 rồi paste vào và Run.

Chọn các file bạn muốn thêm vào là được.

Nhờ các cao thủ khác giúp đỡ thêm.





=============================

Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

On Error GoTo ErrHandler
Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xls), *.xls", _
MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If

x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets _
(ThisWorkbook.Sheets.Count)
x = x + 1
Wend

ExitHandler:
Application.ScreenUpdating = True
Exit Sub

ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
 
Upvote 0
Cám ơn bạn Kimhuynh.

Mình đã thử theo cách của bạn rồi, nhưng khi chạy code này nó lại cho ra hàng loạt các sheet dư thừa khác trong một file tổng hợp. Theo cách này thì chỉ đưa các file vào các sheet khác nhau trong 1 file mà không phải tổng hợp dữ liệu vào cùng 1 sheet. Đây mới là ý mình muốn. Nhân tiện đây cho hỏi có bạn nào biết cách khắc phục việc tạo ra các sheet dư thừa của đoạn code trên không, xử lý giúp luôn cho đoạn code trên trở nên tốt hơn.
 
Upvote 0
Mình không rành về VBA bạn ạ. Mình hay search các đoạn code để dùng thôi. hy vọng đoạn code đó giúp ít được phần nào cho bạn.

Phải nhờ các Bro chỉnh lại thôi, hic hic. -0-/.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom