duynguyenkk
Thành viên chính thức
- Tham gia
- 19/9/12
- Bài viết
- 75
- Được thích
- 13
File đính kèm
Lần chỉnh sửa cuối:
Sao bạn không sử dụng PivotTable cho lẹ.Dựa vào bảng Data để tổng hợp số lượng vật tư theo mã vật tư và ghi chú 1
+ Nếu ghi chú 1 rỗng thì bỏ qua
+ Nếu ghi chú 1 có giá trị thì xét tiếp ghi chú 2
Mỗi ghi chú 1 và ghi chú 2 thường có 2 giá trị (ví dụ ghi chú 1 = A hoặc =B; ghi chú 2 = 1 hoặc =2)
View attachment 229401
View attachment 229403
dạ em muốn code do để lồng vào Chương trình em đang dùng, vì cái bảng data ko phải như vậy mà được xuất từ chương trình, nên giờ em muốn code để lồng thêm vào rồi mới ra bảng tổng hợp ạ.
Vậy bạn phải đưa file gốc lên xuất ra từ phần mềm.dạ em muốn code do để lồng vào Chương trình em đang dùng, vì cái bảng data ko phải như vậy mà được xuất từ chương trình, nên giờ em muốn code để lồng thêm vào rồi mới ra bảng tổng hợp ạ.
Cái này không đến nỗi phức tạp quá đâu, bạn tiềm Dic trong diễn đàn có nhiều Code lắm Ah, chắc có cái đúng yêu cầu của bạn lọc theo 2 điều kiệnDựa vào bảng Data để tổng hợp số lượng vật tư theo mã vật tư và ghi chú 1
+ Nếu ghi chú 1 rỗng thì bỏ qua
+ Nếu ghi chú 1 có giá trị thì xét tiếp ghi chú 2
Mỗi ghi chú 1 và ghi chú 2 thường có 2 giá trị (ví dụ ghi chú 1 = A hoặc =B; ghi chú 2 = 1 hoặc =2)
View attachment 229401
View attachment 229403
File gốc có dạng như thế này đây anh:Vậy bạn phải đưa file gốc lên xuất ra từ phần mềm.
Diễn giải thì nhiều nhưng tôi đọc không hiểu:File gốc có dạng như thế này đây anh:
dữ liệu lấy từ Sheet"PhanTichVatTu" và kết quả được ghi vào sheet"TH-PKKK"
Yêu cầu : Dựa vào Sheet"PhanTichVatTu" lọc ra Mã vật tư có ghi chú PKKK ở cột AB ; số lượng ở cột AH dựa theo điều kiện vị trí lề (vị trí lề ở cột W) và điều kiện hướng mở (hướng mở cột V)
Nếu (vị trí lề ở cột W) ko có dữ liệu thì ko xét điều kiện hướng mở (hướng mở cột V)
1/ Muốn lọc cái gì đó thì cột đó phải đầy đủ dữ liệu --->Muốn lọc ra Mã vật tư (Mã vật tư ở Sheet"PhanTichVatTu" cột AC)Diễn giải thì nhiều nhưng tôi đọc không hiểu:
1/ Muốn lọc cái gì đó thì cột đó phải đầy đủ dữ liệu, vì dụ cột B, C, D và AB tôi đã gán đầy đủ.
2/ Tiêu đề phải duy nhất không được Merge and Center.
3/ Tiêu đề cột E, F của sheet TH-PKKK bạn ghi trớt qướt, đâu có cái vụ Ghi chú1, Ghi chú2 mà nó là Hướng mở, Vị trí bản lề.
4/ cột V và W ghi không đầy đủ (thiếu hướng mở).
5/ Sheet PhanTichVatTu không có cột Đơn vị thì lấy cái gì để ghi vào sheet TH-PKKK.
Nói chung muốn làm cái gì đó thì Sheet PhanTichVatTu và sheet TH-PKKK phải có nội dung đồng bộ, giống nhau.
1/ Tôi nhìn thì biết rồi, trong sheet PhanTichVatTu tôi đã gán bổ sung dữ liệu và tiêu đề bỏ Merge and Center.1/ Muốn lọc cái gì đó thì cột đó phải đầy đủ dữ liệu --->Muốn lọc ra Mã vật tư (Mã vật tư ở Sheet"PhanTichVatTu" cột AC)
3/ Tiêu đề cột E, F của sheet TH-PKKK bạn ghi trớt qướt, đâu có cái vụ Ghi chú1, Ghi chú2 mà nó là Hướng mở, Vị trí bản lề.
--->Ghi chú1= Hướng mở ;Ghi chú2 Vị trí bản lề.
4/ cột V và W ghi không đầy đủ (thiếu hướng mở) -> ko nhất thiết phải có
5/ Sheet PhanTichVatTu không có cột Đơn vị thì lấy cái gì để ghi vào sheet TH-PKKK. ----> cột đơn vị ở cột AI
code em mong muốn kết như thế này
View attachment 229418
code hiện tại lại tổng hợp như thế này :
View attachment 229420
Code của bạn thay đổi đoạn này1/ Muốn lọc cái gì đó thì cột đó phải đầy đủ dữ liệu --->Muốn lọc ra Mã vật tư (Mã vật tư ở Sheet"PhanTichVatTu" cột AC)
3/ Tiêu đề cột E, F của sheet TH-PKKK bạn ghi trớt qướt, đâu có cái vụ Ghi chú1, Ghi chú2 mà nó là Hướng mở, Vị trí bản lề.
--->Ghi chú1= Hướng mở ;Ghi chú2 Vị trí bản lề.
4/ cột V và W ghi không đầy đủ (thiếu hướng mở) -> ko nhất thiết phải có
5/ Sheet PhanTichVatTu không có cột Đơn vị thì lấy cái gì để ghi vào sheet TH-PKKK. ----> cột đơn vị ở cột AI
code em mong muốn kết quả như thế này
View attachment 229418
code hiện tại lại tổng hợp như thế này :
View attachment 229420
If dicKQ.Exists(vMaVatTu & vHuongMo & vViTrile) Then 'thuy
avKQ(dicKQ.Item(vMaVatTu & vHuongMo & vViTrile), 3) = avKQ(dicKQ.Item(vMaVatTu & vHuongMo & vViTrile), 3) + avData(lngRow, 34) 'thuy
Else
lngNumKQ = lngNumKQ + 1
dicKQ.Add vMaVatTu & vHuongMo & vViTrile, lngNumKQ 'thuy
LngRowDic = lngNumKQ
avKQ(LngRowDic, 1) = LngRowDic
avKQ(LngRowDic, 2) = vMaVatTu
avKQ(LngRowDic, 3) = avData(lngRow, 34)
avKQ(LngRowDic, 4) = avData(lngRow, 35)
avKQ(LngRowDic, 6) = vHuongMo
avKQ(LngRowDic, 5) = vViTrile
End If
cám ơn bạn code chạy đúng rồi ah,Code của bạn thay đổi đoạn này
kiểm tra lại xem đúng không nhéMã:If dicKQ.Exists(vMaVatTu & vHuongMo & vViTrile) Then 'thuy avKQ(dicKQ.Item(vMaVatTu & vHuongMo & vViTrile), 3) = avKQ(dicKQ.Item(vMaVatTu & vHuongMo & vViTrile), 3) + avData(lngRow, 34) 'thuy Else lngNumKQ = lngNumKQ + 1 dicKQ.Add vMaVatTu & vHuongMo & vViTrile, lngNumKQ 'thuy LngRowDic = lngNumKQ avKQ(LngRowDic, 1) = LngRowDic avKQ(LngRowDic, 2) = vMaVatTu avKQ(LngRowDic, 3) = avData(lngRow, 34) avKQ(LngRowDic, 4) = avData(lngRow, 35) avKQ(LngRowDic, 6) = vHuongMo avKQ(LngRowDic, 5) = vViTrile End If
DIỄN ĐÀN GIẢI PHÁP EXCEL