quyenpv
Thu nhặt kiến thức
- Tham gia
- 5/1/13
- Bài viết
- 729
- Được thích
- 98
- Giới tính
- Nam
- Nghề nghiệp
- Decode cuộc đời!
Chạy thử code nàyEm chào anh chị!
Em đang làm đối soát vật tư phải kiểm tra số lượng thực tế xuất kho và thực tế thi công. Danh sách em ví dụ trong file và bảng mong muốn code, mong anh chị ghé qua giúp đỡ
Em cám ơn
Sub TongHop()
Dim Nguon
Dim Kq
Dim i, j, k
With Sheet1
i = .Range("A4").End(xlDown).Row
Nguon = .Range("A4:L" & i)
End With
ReDim Kq(1 To i * 5, 1 To 4)
For i = 1 To UBound(Nguon)
If Nguon(i, 3) <> "" Then
For j = 3 To 7
If Nguon(i, j) <> "" Then
k = k + 1
Kq(k, 1) = Nguon(i, 1)
Kq(k, 2) = Nguon(i, 2)
Kq(k, 3) = Nguon(i, j)
Kq(k, 4) = Nguon(i, j + 5)
Else
Exit For
End If
Next j
End If
Next i
With Sheet1
.Range("N4", .Range("Q4").End(xlDown)).ClearContents
.Range("N4").Resize(k, 4) = Kq
End With
End Sub
Vâng anh! Bảng của em còn nhiều cột lắm, anh xem giúp em với ạ. Hiện tại em đang làm thủ công có bao nhiêu vật tư em cho lần lượt rồi nhân với 10 lần số cột phiếu. Dữ liệu quá nhiều mà thủ công không ổn, mỗi lần filter là máy treo luôn ạThiết kế bảng của bạn hình như có gì đó chưa được hợp lý thì phải.
Có lẽ bạn cần diễn giải cách tính & làm 1 vài kết quả thủ công vào file đính kèm thì mới có thể tính được.Vâng anh! Bảng của em còn nhiều cột lắm, anh xem giúp em với ạ. Hiện tại em đang làm thủ công có bao nhiêu vật tư em cho lần lượt rồi nhân với 10 lần số cột phiếu. Dữ liệu quá nhiều mà thủ công không ổn, mỗi lần filter là máy treo luôn ạ
Dạ em gửi file em làm thủ công để anh xem ạCó lẽ bạn cần diễn giải cách tính & làm 1 vài kết quả thủ công vào file đính kèm thì mới có thể tính được.
Tức là bạn cần ví dụ 1 ô nào đó, được tính từ những ô nào, bằng công thức gì?Dạ em gửi file em làm thủ công để anh xem ạ
Trong file Sheet Input_TB em lấy dữ liệu từ các phiếu xuất kho (cái này em đã làm rồi), nhập khối lượng vật tư thực tế thi công vào cột G
Trong Sheet BQT_VTU em đã nhờ anh thì sẽ liệt kê các vật tư, khối lượng và đơn giá như file thủ công em làm
Sau đó từ khối lượng xuất kho - khối lượng thực tế thi công ạ
Em diễn giải lại như sau:Tức là bạn cần ví dụ 1 ô nào đó, được tính từ những ô nào, bằng công thức gì?
Em cám ơn anh nhiều!@quyenpv
File đính kèm chỉ tính tới vật tư thu hồi, các cột còn lại không có hướng dẫn nên không tính được.
Bạn kiểm tra xem kết quả đã khớp hay chưa
Trong file mẫu có trường hợp này chưa tính tới: Ví dụ Vật tư xuất 2 lần, giá <> nhau, nếu thừa thì thu hồi lấy giá nào?
Nếu bạn muốn tiếp tục : Hãy làm vào 1 vài dòng trong file, không nói suông. Làm trực tiếp vào file thì mới hiểu được.
Phần in đậm : Xảy ra trong trường hợp không có phiếu nhập kho?Em gửi bổ sung thông tin các cột tiếp theo ạ
Nếu vật tư dư thừa và nhập kho thì sẽ chọn bằng tay datalist số phiếu nhập tương ứng tại cột V trong Sheet Input_TB
Nếu vật tư nào dư thừa mà chưa nhập kho thì đưa sang cột số lượng chưa thu hồi tại Sheet BQT_VTU ạ
Mong anh hỗ trợ giúp em
Cám ơn anh nhiều
Em cám ơn anh nhiều!
1. Trong trường hợp vật tư xuất nhiều lần thì lấy giá lớn nhất ạ.
2. Có trường hợp này anh kiểm tra lại giúp em nhé vì nó chưa đúng ạ
Cũng Ví dụ tại dòng Tổng số vật tư xuất 2 lần Automat 63A là 6 (1 lần 4, 1 lần 2), thực tế thi công 2.
- Lấy lần 1 xuất trừ đi 2 (Ở đây là 4, thi công 2==>Nhập kho 2
- Do số lượng thi công lần 1 nhỏ hơn số lượng xuất lần 1 nên số lượng xuất lần 2 đưa vào nhập kho luôn
Anh chỉnh giúp em nhé>
Cám ơn anh
Em gửi bổ sung thông tin các cột tiếp theo ạ
Nếu vật tư dư thừa và nhập kho thì sẽ chọn bằng tay datalist số phiếu nhập tương ứng tại cột V trong Sheet Input_TB
Nếu vật tư nào dư thừa mà chưa nhập kho thì đưa sang cột số lượng chưa thu hồi tại Sheet BQT_VTU ạ
Mong anh hỗ trợ giúp em
Cám ơn anh nhiều
Rồi đó bạnCám ơn anh. Lát em coi và phản hồi ạ
Riêng vụ format Mã vật tư anh định dạng text giúp em luôn với ạ
Rồi đó bạn
ReDim Kq(1 To Dong * 4, 1 To 22)
Thay *4 thành *6. Đây là số dòng dự kiến của mảng Kq, thực tế chỉ dùng hết "k" dòng trong code.Em cám ơn anh nhiều, đúng các trường hợp có thể xảy ra rồi ạ
Hi vọng có dịp gặp anh lai rai xíu ạ
Cám ơn anh
Bài đã được tự động gộp:
Anh giải thích em đoạn Code này với ạMã:ReDim Kq(1 To Dong * 4, 1 To 22)
Trường hợp em đang làm muốn chèm thêm cột phiếu xuất thêm 6 cột và đơn giá xuất lên 6 cột thì chỉnh sửa chỗ nào ạ
Bạn xem file đính kèm.Dear anh CHAOQUAY
Rất cám ơn anh đã hỗ trợ em trong thời gian vừa qua
Hiện Code đang bị lỗi phần thông tin phiếu xuất khi vật tư xuất nhiều lần với các số phiếu khác nhau. Anh xem giúp em với ạ
Dạ cám ơn anh!Bạn xem file đính kèm.
Lưu ý:
Cột "Thực hiện": bắt buộc phải có số liệu để còn so sánh kiểm tra thu hồi. File cũ cột này có số liệu, file mới thì không.
Trong file mới, cột "Thực hiện" rỗng -> Nếu trường hợp cộng tổng "Thực xuất" < "Giao khoán" là code sẽ lỗi.
17 | 037367 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | bộ | 6,0 | 3,0 | 1,0 | 2,0 | 2,0 | 1,0 | - | - | - | - | - | - |
20 | PXKVTP_VTU/19/000599 | 7/9/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 1,00 | 919.756,00 | 919.756,00 | 1,00 | 919.756,00 | 919.756,00 | 919.756,00 | |||
21 | PXKVTP_VTU/19/000599 | 7/9/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 2,00 | 1.094.677,21 | 2.189.354,42 | 2,00 | 1.094.677,21 | 2.189.354,42 | 1.094.677,21 | |||
22 | PXKVTU/19/000061 | 3/2/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 2,00 | 1.094.677,21 | 2.189.354,42 | 2,00 | 1.094.677,21 | 2.189.354,42 | 1.094.677,21 | |||
23 | PXKVTU_KH/19/000198 | 1/27/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 1,00 | 529.011,00 | 529.011,00 | 1,00 | 529.011,00 | 529.011,00 | 529.011,00 |
11 | 005289 | Dây điện 2x1,5mm2 | m | 28,0 | 22,0 | 25,0 | 3,0 | - | - | - | - | - | - | - | - |
13 | PXKVTP_VTU/19/000619 | 7/12/2019 | Dây điện 2x1,5mm2 | 005289 | 25,00 | 6.255,00 | 156.375,00 | 22,00 | 6.255,00 | 137.610,00 | 6.255,00 | |
14 | PXKVTU_KH/19/000198 | 1/27/2019 | Dây điện 2x1,5mm2 | 005289 | 3,00 | 6.255,00 | 18.765,00 | 6.255,00 | 6.255,00 |
STT | Số PXK Số PNK | NGÀY THÁNG | TÊN VẬT TƯ | Mã Vật tư | Vật tư xuất kho | Vật tư thực tế thi công - quyết toán | Số lượng vật tư đã thu hồi | Số lượng chưa thu hồi | |||||||
SỐ LƯỢNG | ĐƠN GIÁ | THÀNH TIỀN | SỐ LƯỢNG | ĐƠN GIÁ | THÀNH TIỀN | SỐ LƯỢNG | ĐƠN GIÁ | THÀNH TIỀN | SỐ LƯỢNG | THÀNH TIỀN | |||||
A | D | E | F | G | [1] | [2] | [3]=[1]*[2] | [4] | [5] | [6]=[4]*[5] | [7] | [8] | [9]=[7]*[8] | [10]=[1]-[4]-[7] | [11]=[3]-[6]-[9] |
13 | PXKVTP_VTU/19/000619 | 7/12/2019 | Dây điện 2x1,5mm2 | 005289 | 25,00 | 6.255,00 | 156.375,00 | 22,00 | 6.255,00 | 137.610,00 | 6.255,00 | 3,00 | 18.765,00 | ||
14 | PXKVTU_KH/19/000198 | 1/27/2019 | Dây điện 2x1,5mm2 | 005289 | 3,00 | 6.255,00 | 18.765,00 | 6.255,00 | 6.255,00 | 3,00 | 18.765,00 | ||||
20 | PXKVTP_VTU/19/000599 | 7/9/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 1,00 | 919.756,00 | 919.756,00 | 1,00 | 919.756,00 | 919.756,00 | 919.756,00 | ||||
21 | PXKVTP_VTU/19/000599 | 7/9/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 2,00 | 1.094.677,21 | 2.189.354,42 | 2,00 | 1.094.677,21 | 2.189.354,42 | 1.094.677,21 | ||||
22 | PXKVTU/19/000061 | 3/2/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 2,00 | 1.094.677,21 | 2.189.354,42 | 1.094.677,21 | 1.094.677,21 | 2,00 | 2.189.354,42 | ||||
23 | PXKVTU_KH/19/000198 | 1/27/2019 | FSES/Thiết bị bảo vệ quá áp ngoài (2G) | 037367 | 1,00 | 529.011,00 | 529.011,00 | 529.011,00 | 529.011,00 | 1,00 | 529.011,00 |
2 Trường hợp này là số liệu thực tế hả bạn.Dạ cám ơn anh!
Các phần code đã hoạt động đúng theo mong muốn, phiền anh còn 1 vấn đề về số lượng thi công tính toán chưa đúng ạ. Mong anh xem và chỉnh giúp
Tại Sheet Input_TB
17 037367 FSES/Thiết bị bảo vệ quá áp ngoài (2G) bộ 6,0 3,0 1,0 2,0 2,0 1,0 - - - - - -
11 005289 Dây điện 2x1,5mm2 m 28,0 22,0 25,0 3,0 - - - - - - - -
Dạ anh file em gửi là file cuối cùng và em test còn đúng 1 lỗi đó ạ2 Trường hợp này là số liệu thực tế hả bạn.
Bài đã được tự động gộp:
@quyenpv
Bạn chốt 1 file mẫu.
Chạy thử code, kiểm tra tất cả, liệt kê tất cả lỗi. Sẽ hiệu chỉnh 1 lần rồi thôi.
Bạn kiểm tra lần cuối xem còn gì không, nếu còn thì sửa 1 lần cuối rồi chốt!Dạ anh file em gửi là file cuối cùng và em test còn đúng 1 lỗi đó ạ
Quá tuyệt vời, Cám ơn anh nhiều ạBạn kiểm tra lần cuối xem còn gì không, nếu còn thì sửa 1 lần cuối rồi chốt!
Chạy sub A_Chot_...
Kết quả điền vào sheet1. Nếu thay đổi sheet, thay đổi tại dòng with sheet...
Có lẽ bạn mở thớt mới, sẽ có nhiều thành viên hỗ trợ hơn.Dear anh CHAOQUAY
Hơi tham lam một chút, có 1 vấn đề em nhờ anh thêm ạ
Từ dữ liệu đã chạy Code ở trên em thêm 1 bảng nữa muốn liệt kê các vật tư chưa được hập kho. Mục đích ký nhận giữa các bên
Mong anh giúp ạ, em có tạo dữ liệu tay trong Sheet 2 đính kèm.