Xin giúp đỡ code lập trình VBA : Ghép dữ liệu

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

buihuuchung

Thành viên mới
Tham gia
10/4/19
Bài viết
9
Được thích
0
Chào mọi người, xin nhờ mọi người giúp đỡ code VBA với ạ
Em có 1 file excel, trong đó có 2 sheet
1 sheet chứa dữ liệu số Km xe chạy
1 sheet chứa dữ liệu số Km trên hóa đơn đã xuất
Em muốn ghép dữ liệu xe chạy với dữ liệu hóa đơn
Yêu cầu chi tiết em có ghi trong file
Em mới tập tành viết code VBA nên trình độ còn kém, nhờ mọi người giúp với ạ
 

File đính kèm

  • Ghép data.xlsx
    14.5 KB · Đọc: 13
Chắc phần giải thích mình viết chưa rõ, mình viết lại phần mong muốn vào file đính kèm
Nhờ mọi người giúp đỡ với ạ
 

File đính kèm

  • Ghép data.xlsx
    16.8 KB · Đọc: 10
Upvote 0
Chắc phần giải thích mình viết chưa rõ, mình viết lại phần mong muốn vào file đính kèm
Đọc mấy lần rồi vẫn chưa hiểu.
Bạn diễn giải từng bước tính thủ công và điều kiện để tính các bước đó từ đầu đến khi ra kết quả xem thế nào,
 
Upvote 0
Đọc mấy lần rồi vẫn chưa hiểu.
Bạn diễn giải từng bước tính thủ công và điều kiện để tính các bước đó từ đầu đến khi ra kết quả xem thế nào,
Cách diễn đạt của mình khó hiểu, xin lỗi nhé
Mình viết lại vào file rồi, nhờ bạn xem giúp lần nữa nhé
 

File đính kèm

  • Ghép data.xlsx
    16.3 KB · Đọc: 4
Upvote 0
Cách diễn đạt của mình khó hiểu, xin lỗi nhé
Mình viết lại vào file rồi, nhờ bạn xem giúp lần nữa nhé
Bạn diễn giải vẫn chưa rõ hết, ví dụ:
Trường hợp 1:
1._Dòng số thứ tự 1, Xe 34H01, ngày trả 18/09/20024, có số km chạy = 118.45
1.1_Dò tìm tại sheet "Hóa đơn (IV): điều kiện để dò là số km trên hóa đơn tại cột (IV) khớp với số km chạy là 118.45.
1.2_Dò được Hóa đơn số 68375 có ngày xuất là 26/09/2024
* Điều kiện ưu tiên 1: Hai con số bằng nhau (là con số nào bằng với con số nào)?
* Điều kiện ưu tiên 2: .........................................................................................................
* Điều kiện ưu tiên 3: ..........................................................................................................
1.3_Tại sheet1: Điền kết quả vào dòng số thứ tự 1: Dầu lần 1 =118.45 và số IV1 = 68375.
1.4_Tại sheet "hoa don (IV): Điền kết quả vào dòng số thứ tự 1: ........................................................

Trường hợp 2:
2._...........................................................
2.1_........................................................
2.2_........................................................

Tương tự cho các trường hợp tiếp theo.
 
Upvote 0
Bạn diễn giải vẫn chưa rõ hết, ví dụ:
Trường hợp 1:
1._Dòng số thứ tự 1, Xe 34H01, ngày trả 18/09/20024, có số km chạy = 118.45
1.1_Dò tìm tại sheet "Hóa đơn (IV): điều kiện để dò là số km trên hóa đơn tại cột (IV) khớp với số km chạy là 118.45.
1.2_Dò được Hóa đơn số 68375 có ngày xuất là 26/09/2024
* Điều kiện ưu tiên 1: Hai con số bằng nhau (là con số nào bằng với con số nào)?
* Điều kiện ưu tiên 2: .........................................................................................................
* Điều kiện ưu tiên 3: ..........................................................................................................
1.3_Tại sheet1: Điền kết quả vào dòng số thứ tự 1: Dầu lần 1 =118.45 và số IV1 = 68375.
1.4_Tại sheet "hoa don (IV): Điền kết quả vào dòng số thứ tự 1: ........................................................

Trường hợp 2:
2._...........................................................
2.1_........................................................
2.2_........................................................

Tương tự cho các trường hợp tiếp theo.
Mô tả các bước :
1- Dòng số thứ tự 1, xe 34H 01, ngày trả 18/9/2024, có số Km chạy = 118.45
1.1. Dò tìm tại sheet "Hóa đơn (IV)
- Điều kiện 1 : Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> thấy hóa đơn 68375, có ngày xuất hóa đơn là 26/9/2024 thỏa mãn
- Ưu tiên 1 : số lượng hóa đơn = số lượng Km của xe = 118.45
==> thấy hóa đơn 68375, có ngày xuất hóa đơn là 26/9/2024 thỏa mãn về ngày và số lượng = 118.45
==> Ghép số lượng của hóa đơn này cho xe 34H 01
==> Mình điền kết quả vào dòng số thứ tự 1 : Dầu lần 1 = 118.45 và số IV1 = 68375
1.2 Hóa đơn 68375 đã ghép với xe 34H 01 rồi sẽ không ghép với các xe tiếp theo nữa
2- Tiếp đến dòng số thứ tự số 2 : Xe 34H 02, ngày trả 4/9/2024 , số Km = 118.45
2.1. Dò tìm sang sheet " Hóa đơn (IV) bên cạnh
Áp dụng điều kiện và ưu tiên như trường hợp 1, thấy hóa đơn 68375, nhưng hóa đơn này ghép với xe ở trên rồi nên bỏ qua
2.2. Tiếp tục
- Điều kiện 1 : Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
- Ưu tiên 2 : Xét các hóa đơn từ trên xuống dưới thỏa mãn điều kiện 1
==> Xác định được hóa đơn là 143317 ( hóa đơn của dòng số thứ tự 1 , sheet bên cạnh)
hóa đơn này có số lượng 367.14 - 118.45 = 248.69 ( dư )
Như vậy, tại dòng số 2, mình sẽ điền vào dầu lần 1 = 118.45 và IV1 = số hóa đơn 143317
3. Tiếp đến dòng số thứ tự số 3 : Xe 34H 03
- Điều kiện 1 : về ngày ==> Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> Hóa đơn 143317 vẫn tiếp tục thỏa mãn
==> Số dư của hóa đơn 143317 là 248.69 sẽ dùng tiếp cho các xe 34H 03 là 47.84 ==> Như vậy, tại dòng số 3, mình sẽ điền vào dầu lần 1 = 47.84 và IV1 = số hóa đơn 143317
==> hóa đơn này có số lượng 248.69 - 47.84 = 200.85 ( dư )
4. Tiếp đến dòng số thứ tự số 4 : Xe 34H 04
- Điều kiện 1 : về ngày ==> Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> Hóa đơn 143317 vẫn tiếp tục thỏa mãn
==> Số dư của hóa đơn 143317 là 200.85 sẽ dùng tiếp cho các xe 34H 04 ==> Như vậy, tại dòng số 4, mình sẽ điền vào dầu lần 1 = 200.85 và IV1 = số hóa đơn 143317
Nhưng xe này có số Km = 300 , chưa đủ, số lượng còn thiếu = 300 - 200.85 = 99.15 sẽ lấy trong số lượng của 1 hóa đơn khác thỏa mãn về ngày tiếp theo là 51374
==> Khi đó, số lượng 99.15 sẽ điền vào cột Dầu lần 2, và 51374 sẽ điền vào cột IV2
==> Cứ tiếp tục như vậy....


Mình trình bày lại ntn, bạn đã hiểu rõ chưa? Hãy giúp mình nếu có thể nhé
Bài đã được tự động gộp:

Mô tả các bước :
1- Dòng số thứ tự 1, xe 34H 01, ngày trả 18/9/2024, có số Km chạy = 118.45
1.1. Dò tìm tại sheet "Hóa đơn (IV)
- Điều kiện 1 : Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> thấy hóa đơn 68375, có ngày xuất hóa đơn là 26/9/2024 thỏa mãn
- Ưu tiên 1 : số lượng hóa đơn = số lượng Km của xe = 118.45
==> thấy hóa đơn 68375, có ngày xuất hóa đơn là 26/9/2024 thỏa mãn về ngày và số lượng = 118.45
==> Ghép số lượng của hóa đơn này cho xe 34H 01
==> Mình điền kết quả vào dòng số thứ tự 1 : Dầu lần 1 = 118.45 và số IV1 = 68375
1.2 Hóa đơn 68375 đã ghép với xe 34H 01 rồi sẽ không ghép với các xe tiếp theo nữa
2- Tiếp đến dòng số thứ tự số 2 : Xe 34H 02, ngày trả 4/9/2024 , số Km = 118.45
2.1. Dò tìm sang sheet " Hóa đơn (IV) bên cạnh
Áp dụng điều kiện và ưu tiên như trường hợp 1, thấy hóa đơn 68375, nhưng hóa đơn này ghép với xe ở trên rồi nên bỏ qua
2.2. Tiếp tục
- Điều kiện 1 : Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
- Ưu tiên 2 : Xét các hóa đơn từ trên xuống dưới thỏa mãn điều kiện 1
==> Xác định được hóa đơn là 143317 ( hóa đơn của dòng số thứ tự 1 , sheet bên cạnh)
hóa đơn này có số lượng 367.14 - 118.45 = 248.69 ( dư )
Như vậy, tại dòng số 2, mình sẽ điền vào dầu lần 1 = 118.45 và IV1 = số hóa đơn 143317
3. Tiếp đến dòng số thứ tự số 3 : Xe 34H 03
- Điều kiện 1 : về ngày ==> Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> Hóa đơn 143317 vẫn tiếp tục thỏa mãn
==> Số dư của hóa đơn 143317 là 248.69 sẽ dùng tiếp cho các xe 34H 03 là 47.84 ==> Như vậy, tại dòng số 3, mình sẽ điền vào dầu lần 1 = 47.84 và IV1 = số hóa đơn 143317
==> hóa đơn này có số lượng 248.69 - 47.84 = 200.85 ( dư )
4. Tiếp đến dòng số thứ tự số 4 : Xe 34H 04
- Điều kiện 1 : về ngày ==> Ngày hóa đơn - ngày trả hàng (cột D sheet1) >= 7
==> Hóa đơn 143317 vẫn tiếp tục thỏa mãn
==> Số dư của hóa đơn 143317 là 200.85 sẽ dùng tiếp cho các xe 34H 04 ==> Như vậy, tại dòng số 4, mình sẽ điền vào dầu lần 1 = 200.85 và IV1 = số hóa đơn 143317
Nhưng xe này có số Km = 300 , chưa đủ, số lượng còn thiếu = 300 - 200.85 = 99.15 sẽ lấy trong số lượng của 1 hóa đơn khác thỏa mãn về ngày tiếp theo là 51374
==> Khi đó, số lượng 99.15 sẽ điền vào cột Dầu lần 2, và 51374 sẽ điền vào cột IV2
==> Cứ tiếp tục như vậy....


Mình trình bày lại ntn, bạn đã hiểu rõ chưa? Hãy giúp mình nếu có thể nhé
Mình gửi lại file nhé
 

File đính kèm

  • Ghép data.xlsx
    16.9 KB · Đọc: 5
Upvote 0
Web KT

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

Back
Top Bottom