Giúp tạo code lấy dữ liệu từ nhiều file

Liên hệ QC

Lộc Nguyễn 93

Thành viên mới
Tham gia
4/4/22
Bài viết
11
Được thích
3
Xin chào mọi người,
Mình mới tập tành tìm hiểu về VBA, loay hoay mãi mấy hôm tìm hiểu nhưng vẫn chưa biết cách làm nên đành nhờ mọi người giúp rồi từ từ ngâm cứu ạ. Công việc của mình cần làm là tổng hợp khối lượng của các tổ đội theo các đợt thanh toán, nhưng mỗi đợt sẽ là một file riêng biệt nên làm thủ công rất mất thời gian và dễ nhầm lẫn. Cụ thể mình muốn tạo một nút bấm để chọn file chứa dữ liệu nguồn và sau đó sẽ copy dữ liệu từ file này sang file "BTHKL" theo đúng đợt của file đó (ảnh minh họa). Mình nghĩ sẽ cần phải dùng một hàm copy theo điều kiện vì các tên công tác có thể lặp lại (do có nhiều hạng mục) và số dòng giữa các file sẽ khác nhau (vì các đợt tiếp theo sẽ thêm dòng ở dưới tên công tác). Rất mong nhận được sự giúp đỡ của mọi người.
Xin cảm ơn, chúc mọi người một ngày tốt lành! 1650336264093.png
 

File đính kèm

  • BTHKL.xlsx
    431.9 KB · Đọc: 5
  • D1_DVH.xls
    875.5 KB · Đọc: 9
Maika8008 giúp mình khắc phục việc "Định danh đầu mục công việc trong bảng tính"
Theo code hiện tại bạn chia sẻ, vẫn sảy ra hiện tượng trùng tên định danh. Cụ thể tại dòng 829-830; dòng 902-903 việc định danh vẫn không hiểu được là đầu việc 5.1 đã kết thúc.
Bạn có thể hướng dẫn cách thay đổi code sao cho khi gặp trường hợp như thế này.
Việc định danh tự động sẽ đưa về kết quả là
5.-5.2
5.-5.2-A
5.-5.2-A-A1
5.-5.2-A-A1
5.-5.2-A-A1-1
Mục đích là để định danh đầu việc trong bảng tính không bị trùng nhau.
Mong bạn giúp đỡ. Tks
View attachment 275029
Cái bảng của mấy ông kỹ thuật xây dựng xưa nay vẫn thế, không bao giờ đặt mã cho công việc. Chỗ nào cũng có cái tên đó, ví dụ Bê tông lót móng, đá 1x2, M150 nếu không có mã duy nhất thì biết chép vào chỗ nào. À mà sao gửi file mà khóa VBA he?

Bạn chạy thử file cho nhiều đợt xem.
Phần này mình chưa làm thanh toán tới nên bạn nói mình mới để ý thấy :)
Chuyện có đợt 1 rồi thì không chạy lại nữa bạn nghiên cứu thêm vào đi. Tôi tính làm tiếp nhưng quên chuyện đó chứ không phải là không làm.
Vâng, mình đang nghiên cứu theo hướng là tạo một Userform cho nhập tên đợt rồi lấy thông tin đó dò lấy vị trí cột của đợt đó...cách này có vẻ hơi dài dòng :( Nếu @Maika8008 có cách code bỏ qua các đợt đã có thì tuyệt vời quá, nó sẽ nhanh và "tự động hóa" hơn, vì phương án của mình vẫn phải nhập thủ công tên đợt mỗi lần chọn file chi tiết.
 
Upvote 0
Phần này mình chưa làm thanh toán tới nên bạn nói mình mới để ý thấy :)

Vâng, mình đang nghiên cứu theo hướng là tạo một Userform cho nhập tên đợt rồi lấy thông tin đó dò lấy vị trí cột của đợt đó...cách này có vẻ hơi dài dòng :( Nếu @Maika8008 có cách code bỏ qua các đợt đã có thì tuyệt vời quá, nó sẽ nhanh và "tự động hóa" hơn, vì phương án của mình vẫn phải nhập thủ công tên đợt mỗi lần chọn file chi tiết.
Tôi lười tạo dữ liệu để chạy lắm. Bạn tạo thêm dữ liệu đợt 2 vào file mới nhất tôi gửi cho bạn thanhtv rồi gửi lại cho tôi.
 
Upvote 0

File đính kèm

  • ChepDuToanVaoFileTong_Lộc Nguyễn 93 (1).xlsm
    639.9 KB · Đọc: 2
Upvote 0
mình gửi lại file có dữ liệu đợt 2, @Maika8008 xem giúp mình nhé
Ồ, tôi nhầm làm mất công bạn. Ý tôi là có đợt 2 của cái file chi tiết khối lượng kia (như file D1_DVH.xls kia). Tuy nhiên không cần nữa, tôi đã chèn thêm vài dòng đợt 2 vào D1_DVH.xls để chạy thử.

Chừ gửi file lại cho bạn. @Thanhtv@ test cái chỉ mục luôn. Mục 5.3 CÔNG TÁC NGOÀI HỢP ĐỒNG đó đánh số mục sai, lẽ ra là I , II La Mã gì đó chứ không được đánh số. Trong file đã đánh thành II và các mục con bên dưới nó không đánh số mục nhé.
 

File đính kèm

  • ChepDuToanVaoFileTong_Lộc Nguyễn 93.xlsm
    647.7 KB · Đọc: 15
Upvote 0
Ồ, tôi nhầm làm mất công bạn. Ý tôi là có đợt 2 của cái file chi tiết khối lượng kia (như file D1_DVH.xls kia). Tuy nhiên không cần nữa, tôi đã chèn thêm vài dòng đợt 2 vào D1_DVH.xls để chạy thử.

Chừ gửi file lại cho bạn. @Thanhtv@ test cái chỉ mục luôn. Mục 5.3 CÔNG TÁC NGOÀI HỢP ĐỒNG đó đánh số mục sai, lẽ ra là I , II La Mã gì đó chứ không được đánh số. Trong file đã đánh thành II và các mục con bên dưới nó không đánh số mục nhé.
Cảm ơn @Maika8008, phần code bỏ qua các đợt có sẵn chạy rất ổn rồi ạ. Tuy nhiên các mục con như @Maika8008 nói, nếu bỏ không đánh số mục thì nó cũng sẽ không được lấy sang file tổng hợp vì không có mã. Chỗ này là lỗi của mình do file tổng hợp thiếu các dòng "CÁC CÔNG TÁC THEO HỢP ĐỒNG" và "CÁC CÔNG TÁC NGOÀI HỢP ĐỒNG". Giải pháp là mình sẽ điều chỉnh file tổng hợp, đưa các dòng này vào cho đồng bộ với file chi tiết sau đó sẽ thêm hàm để đưa các "I" và "II" vào trong mã. Cảm ơn @Maika8008 rất nhiều!
 
Upvote 0
Web KT

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

Back
Top Bottom