Tạo file Excel dùng VBA để lấy và nối dữ liệu từ các files excel (7 người xem)

  • Thread starter Thread starter nmhanh
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

nmhanh

Thành viên chính thức
Tham gia
5/7/07
Bài viết
82
Được thích
8
Xin chào các anh chị em trên diễn đàn.

Tôi có rất nhiều file Excel đơn lẻ chứa dữ liệu theo cùng định dạng cột (gồm có cột Họ và tên, Ngày sinh, Lớp, Ngày nhập học), giờ tôi muốn dùng công cụ VBA để lập một file Excel dữ liệu tổng hợp cho phép lấy tất cả dữ liệu từ các file excel đơn lẻ và nhập thành một file tổng hợp. Mỗi khi phát sinh thêm một/hoặc một số file excel đơn lẻ, file excel dữ liệu tổng hợp cho phép chạy marcro để nhập tiếp dữ liệu từ file excel đơn lẻ mới này.

Nhờ các anh chị em trên diễn đàn giúp sử dụng VBA để tạo file dữ liệu excel tổng hợp này.

Tôi gửi theo đây mẫu 03 file excel dữ liệu đơn lẻ, và mẫu file dữ liệu tổng hợp sau khi nhập hết dữ liệu từ các file excel đơn lẻ.

Mong nhận được sự giúp đỡ.

Cảm ơn các anh chị em.
 

File đính kèm

Xin chào các anh chị em trên diễn đàn.

Tôi có rất nhiều file Excel đơn lẻ chứa dữ liệu theo cùng định dạng cột (gồm có cột Họ và tên, Ngày sinh, Lớp, Ngày nhập học), giờ tôi muốn dùng công cụ VBA để lập một file Excel dữ liệu tổng hợp cho phép lấy tất cả dữ liệu từ các file excel đơn lẻ và nhập thành một file tổng hợp. Mỗi khi phát sinh thêm một/hoặc một số file excel đơn lẻ, file excel dữ liệu tổng hợp cho phép chạy marcro để nhập tiếp dữ liệu từ file excel đơn lẻ mới này.

Nhờ các anh chị em trên diễn đàn giúp sử dụng VBA để tạo file dữ liệu excel tổng hợp này.

Tôi gửi theo đây mẫu 03 file excel dữ liệu đơn lẻ, và mẫu file dữ liệu tổng hợp sau khi nhập hết dữ liệu từ các file excel đơn lẻ.

Mong nhận được sự giúp đỡ.

Cảm ơn các anh chị em.
Bạn thử xem đúng ý chưa nhe?
 

File đính kèm

Bạn thử xem đúng ý chưa nhe?
Cảm ơn bạn đã giúp đỡ rất nhanh.

Tuy nhiên, có một điểm là mỗi khi nhấn vào nút mặt cười để chạy VBA thì các dữ liệu đã nhập trước đó lại bị xóa hết. Mình muốn là các dữ liệu đã nhập trong những lần trước đó vẫn được giữa lại, và các dữ liệu nhập từ các file mới sẽ được nối tiếp vào các dữ liệu đã nhập trong quá khứ. Giả sử, lần thứ nhất mình nhập 03 file. Sau đó phát sinh thêm 02 file mới thì khi nhập dữ liệu từ 02 file mới này, các dữ liệu của 03 file đã nhập trước đó vẫn được giữ lại, dữ liệu từ 02 file mới sẽ nối tiếp vào dữ liệu của 03 file kia. Lần tiếp theo mình có 06 file mới thì dữ liệu đã nhập từ 05 file trước vẫn giữ nguyên và dữ liệu của 06 file mới lại được nhập nối tiếp vào, cứ như vậy mãi.

Nhờ bạn giúp xử lý nhé.
 
Cảm ơn bạn đã giúp đỡ rất nhanh.

Tuy nhiên, có một điểm là mỗi khi nhấn vào nút mặt cười để chạy VBA thì các dữ liệu đã nhập trước đó lại bị xóa hết. Mình muốn là các dữ liệu đã nhập trong những lần trước đó vẫn được giữa lại, và các dữ liệu nhập từ các file mới sẽ được nối tiếp vào các dữ liệu đã nhập trong quá khứ. Giả sử, lần thứ nhất mình nhập 03 file. Sau đó phát sinh thêm 02 file mới thì khi nhập dữ liệu từ 02 file mới này, các dữ liệu của 03 file đã nhập trước đó vẫn được giữ lại, dữ liệu từ 02 file mới sẽ nối tiếp vào dữ liệu của 03 file kia. Lần tiếp theo mình có 06 file mới thì dữ liệu đã nhập từ 05 file trước vẫn giữ nguyên và dữ liệu của 06 file mới lại được nhập nối tiếp vào, cứ như vậy mãi.

Nhờ bạn giúp xử lý nhé.
Bạn thử lại xem đúng ý chưa nhe
 

File đính kèm

Bạn thử xem đúng ý chưa nhe?
Chào bạn
Mình cũng có nhu cầu như trên'
Mình có 4 file lẻ với mỗi file có khoảng 15.000-20.000 dòng dữ liệu. File lẻ có tên file và đường dẫn đã biết trước.
Mình cần đoạn code để khi nhấn 1 nút Excel tự động làm việc làm hết các việc (không hỏi người dùng)
Rất mong bạn giúp
Bạn dùng file trên để minh họa giúp mình. Nếu cần file có dữ liệu `~10.000 thì mình sẽ gửi sau
Xin cảm ơn
 
Chào bạn
Mình cũng có nhu cầu như trên'
Mình có 4 file lẻ với mỗi file có khoảng 15.000-20.000 dòng dữ liệu. File lẻ có tên file và đường dẫn đã biết trước.
Mình cần đoạn code để khi nhấn 1 nút Excel tự động làm việc làm hết các việc (không hỏi người dùng)
Rất mong bạn giúp
Bạn dùng file trên để minh họa giúp mình. Nếu cần file có dữ liệu `~10.000 thì mình sẽ gửi sau
Xin cảm ơn
Anh nên tạo topic mới và gửi file ví dụ cần tổng hợp xong sẽ có nhiều anh chị hỗ trợ anh
 
Anh nên tạo topic mới và gửi file ví dụ cần tổng hợp xong sẽ có nhiều anh chị hỗ trợ anh
Topic như thế này đã có nhiều trên diễn đàn rồi, nhưng mình không áp dụng được cái nào. Tiện đây mong bạn hỗ trợ với
Xin cảm ơn
 
Cảm ơn bạn đã giúp đỡ rất nhanh.

Tuy nhiên, có một điểm là mỗi khi nhấn vào nút mặt cười để chạy VBA thì các dữ liệu đã nhập trước đó lại bị xóa hết. Mình muốn là các dữ liệu đã nhập trong những lần trước đó vẫn được giữa lại, và các dữ liệu nhập từ các file mới sẽ được nối tiếp vào các dữ liệu đã nhập trong quá khứ. Giả sử, lần thứ nhất mình nhập 03 file. Sau đó phát sinh thêm 02 file mới thì khi nhập dữ liệu từ 02 file mới này, các dữ liệu của 03 file đã nhập trước đó vẫn được giữ lại, dữ liệu từ 02 file mới sẽ nối tiếp vào dữ liệu của 03 file kia. Lần tiếp theo mình có 06 file mới thì dữ liệu đã nhập từ 05 file trước vẫn giữ nguyên và dữ liệu của 06 file mới lại được nhập nối tiếp vào, cứ như vậy mãi.

Nhờ bạn giúp xử lý nhé.
Nếu làm theo cách này thì sẽ có tình huống khi bạn chạy macro nhiều lần hóa ra dữ liệu bạn nhận được sẽ bị thừa à? Chẳng hạn lần đầu bạn chọn lấy dữ liệu từ book6, book7 và book8, sau đó bạn lại chạy code và lấy dữ liệu 3 files trên lần nữa. Thế thì chuyện gì xảy ra?
 
cảm ơn bạn ko biết cái nút dưới nó dùng trong trường hợp nào vậy bạn, mình viết code toàn xài nút dưới code.png
Bài đã được tự động gộp:

mà của mình làm nó vẫn chạy rồi nhưng mà dữ liệu nó lấy ko có gì bạn ơi, chỉ thấy toàn khoảng trắng
 
Lần chỉnh sửa cuối:
cảm ơn bạn ko biết cái nút dưới nó dùng trong trường hợp nào vậy bạn, mình viết code toàn xài nút dưới View attachment 201880
Bài đã được tự động gộp:


mà của mình làm nó vẫn chạy rồi nhưng mà dữ liệu nó lấy ko có gì bạn ơi, chỉ thấy toàn khoảng trắng
Bạn đưa file ví dụ mới biết bạn lỗi chỗ nào được
 
Bạn đưa file ví dụ mới biết bạn lỗi chỗ nào được
à, mình sửa được rồi, mà cho mình hỏi mình muốn láy dử liệu sang mà nó nằm ngay hàng số 1 làm như thế nào bạn ? file cuả bạn lấy dữ liệu sang nhưng nó nằm ở hàng số 2hinhanh.png
 
à, mình sửa được rồi, mà cho mình hỏi mình muốn láy dử liệu sang mà nó nằm ngay hàng số 1 làm như thế nào bạn ? file cuả bạn lấy dữ liệu sang nhưng nó nằm ở hàng số 2View attachment 201883

Bạn tìm dòng này
Set Target = Sheet1.Range("A60000").End(xlUp).Offset(1) thay thành
Mã:
Set Target = Sheet1.Range("A60000").End(xlUp).Offset
 
cái này nó củng hay bị lỗi bạn nhỉ, có khi kích thì nó không chạy có khi kích lại chạy
Mình đâu biết file của bạn lỗi thế nào đâu, bị gì thì bạn nên gửi file đính kèm để anh chị diễn đàn sẽ giúp bạn
 
Anh gửi file đi mới xem em hỗ trợ được không anh nhe

Cảm ơn bạn. Mình gửi file theo link, giúp mình với nhé:
Ghi chú:
1. Tạo nút lệnh tại sheet Editor, sau khi bấm dữ liệu được copy tự động từ 2 file con kia vào sheet RCF của file TongHop, sao cho nhanh và mượt mà nhất (Không có hộp thoại hỏi người dùng vì tên và địa chỉ file con sẽ cố định).
2. Dữ liệu copy về không cần có format, chỉ cần đúng thứ tự cột, Dữ liệu cần copy là từ cột A đến cột I
3. Dữ liệu của file con liên tục được update nên nút lệnh thường xuyên được dùng. Khi Excel bắt đầu copy từ các file con, dữ liệu cũ đang có ở file TongHop có thể xóa để lấy dữ liệu mới không trùng lặp
4. Trong thực tế, file con và file TongHop đặt trên ổ mạng. Xử lý tình huống copy được cả dữ liệu khi file con đang được mở bởi 1 người dùng nào đó.

Link tải file: https://www.dropbox.com/s/u97s0ci40535jya/Data.rar?dl=0
 
Web KT

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

Back
Top Bottom