xem phụ liệu theo đợt hàng

Liên hệ QC

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
703
Được thích
53
Giới tính
Nam
Chào các anh chị!
Em có file này nhờ anh chị giúp:
Khi nhấn "sao" hiện form, lọc không trùng đợt hàng vào combobox đợt hàng(cb_DH)(là cột ghi chú của sheet"Nhap"), sẽ có là:
đơt 14
đồng phục Mekong
đồng phục ngành
đợt 16
quần short
và khi chọn đợt hàng nào thì thể hiện phụ liệu nhập, xuất của đợt hàng đó.
Tồn bằng nhập trừ xuất, nếu cùng tên phụ liệu thì cộng dồn vào.(cùng đợt hàng)
ví dụ như "Nhãn size 28 của dợt 14 nhập lần 1 là 20 và lần 2 là 80 thì thể hiện là nhập = 100.
Mong các anh chị giúp đỡ.
 

File đính kèm

  • GPE.xlsb
    37.5 KB · Đọc: 6
Chào các anh chị!
Em có file này nhờ anh chị giúp:
Khi nhấn "sao" hiện form, lọc không trùng đợt hàng vào combobox đợt hàng(cb_DH)(là cột ghi chú của sheet"Nhap"), sẽ có là:
đơt 14
đồng phục Mekong
đồng phục ngành
đợt 16
quần short
và khi chọn đợt hàng nào thì thể hiện phụ liệu nhập, xuất của đợt hàng đó.
Tồn bằng nhập trừ xuất, nếu cùng tên phụ liệu thì cộng dồn vào.(cùng đợt hàng)
ví dụ như "Nhãn size 28 của dợt 14 nhập lần 1 là 20 và lần 2 là 80 thì thể hiện là nhập = 100.
Mong các anh chị giúp đỡ.
Bạn xem đúng chưa nhé.Và tự chỉnh lại form.
 

File đính kèm

  • GPE.xlsb
    35.5 KB · Đọc: 11
  • Yêu thích
Reactions: DMQ
Upvote 0
Cám ơn bạn!
Đúng ý mình rồi.
CHÚC BẠN NGÀY VUI.
Bài đã được tự động gộp:

À bạn snow25 ơi, khi tên phụ liệu nào không có xuất thì cột xuất của bạn là khoảng trắng, mong bạn chỉnh code cho thể hiện là 0.00 dùm, và các số có dấu phân cách hàng ngàn và sort dữ liệu trong listbox1 dùm ạ.
Cám ơn bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các anh chị!
Em có file này nhờ anh chị giúp:
Khi nhấn "sao" hiện form, lọc không trùng đợt hàng vào combobox đợt hàng(cb_DH)(là cột ghi chú của sheet"Nhap"), sẽ có là:
đơt 14
đồng phục Mekong
đồng phục ngành
đợt 16
quần short
và khi chọn đợt hàng nào thì thể hiện phụ liệu nhập, xuất của đợt hàng đó.
Tồn bằng nhập trừ xuất, nếu cùng tên phụ liệu thì cộng dồn vào.(cùng đợt hàng)
ví dụ như "Nhãn size 28 của dợt 14 nhập lần 1 là 20 và lần 2 là 80 thì thể hiện là nhập = 100.
Mong các anh chị giúp đỡ.
Gửi bạn file này tham khảo thêm
 

File đính kèm

  • GPE.xlsb
    46.5 KB · Đọc: 23
  • Yêu thích
Reactions: DMQ
Upvote 0
Cám ơn bạn!
Đúng ý mình rồi.
CHÚC BẠN NGÀY VUI.
Bài đã được tự động gộp:

À bạn snow25 ơi, khi tên phụ liệu nào không có xuất thì cột xuất của bạn là khoảng trắng, mong bạn chỉnh code cho thể hiện là 0.00 dùm, và các số có dấu phân cách hàng ngàn và sort dữ liệu trong listbox1 dùm ạ.
Cám ơn bạn.
Bạn xem nhé.Về định dạng bạn tìm trên mạng khác có nhé.Còn sort mình lười không muốn code lại nữa.
 

File đính kèm

  • GPE.xlsb
    36 KB · Đọc: 14
  • Yêu thích
Reactions: DMQ
Upvote 0
Cám ơn bạn chucuoi92, file bạn đã có dấu phân cách hàng ngàn và đã sort. Cám ơn bạn nhiều.
Bài đã được tự động gộp:

Cám ơn bạn snow25 nhé.
 
Upvote 0
Anh chucuoi92 ơi!Untitled.png
Sao File của anh em về mở bằng Latop ở nhà (sau khi chọn đợt hang) thì có lỗi như hình:214572và nhấn debug thì lỗi vàng ngay dòng:
Mã:
Set dic = CreateObject("System.Collections.SortedList")
 
Upvote 0
Anh chucuoi92 ơi!View attachment 214572
Sao File của anh em về mở bằng Latop ở nhà (sau khi chọn đợt hang) thì có lỗi như hình:View attachment 214572và nhấn debug thì lỗi vàng ngay dòng:
Mã:
Set dic = CreateObject("System.Collections.SortedList")
Có lẽ máy latop của bạn thiếu thư viên , tự tìm hiểu trên internet xem sao, mình cũng chưa gặp trường hợp này.
À mà thử vào tools/references... xem có báo missing cái nào không.

Theo như mình vừa mới tìm hiểu thì lỗi do thiếu Microsoft.NET Framework(Version nào thì không rõ)
Vào đường link dưới đây tải về xem sao.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=1639
 
Lần chỉnh sửa cuối:
Upvote 0
À bạn chucuoi92 ơi, sao font trong lisbox1 mình đổi lại là Tahoma thì không còn căn trái nữa bạn à.
Bài đã được tự động gộp:

Cám ơn bạn, mình đang ở công ty, máy công ty thì không sao (Win 7-32bit), còn laptop nhà thì bị (Win 10-32bit), vào references thì không thấy missing chổ nào, để tối về mình thử coi Framework xem sao.
Bài đã được tự động gộp:

mình đưa ảnh chuyển font Tahoma:
214592
 
Lần chỉnh sửa cuối:
Upvote 0
À bạn chucuoi92 ơi, sao font trong lisbox1 mình đổi lại là Tahoma thì không còn căn trái nữa bạn à.
Bài đã được tự động gộp:

Cám ơn bạn, mình đang ở công ty, máy công ty thì không sao (Win 7-32bit), còn laptop nhà thì bị (Win 10-32bit), vào references thì không thấy missing chổ nào, để tối về mình thử coi Framework xem sao.
Bài đã được tự động gộp:

mình đưa ảnh chuyển font Tahoma:
View attachment 214592
Dùng font Courier New hoặc một số font tương tự thì các ký tự có độ dãn như nhau(các ký tự có độ rộng như nhau)
sau đó thì dùng hàm để thêm các khoảng trắng vào sau các chữ cho đủ một số lượng ký tự thì các trữ tự đều nhau.
Còn font Tahoma thì khoảng rộng của từng ký tự khác nhau nên không làm vậy được.
 
  • Yêu thích
Reactions: DMQ
Upvote 0
Phức tạp vậy bạn, bạn có thể giúp mình chỉnh cho các loại font được không? Mình không biết VBA
 
Upvote 0
Phức tạp vậy bạn, bạn có thể giúp mình chỉnh cho các loại font được không? Mình không biết VBA
Các loại thì không được đâu bạn, chỉ có một số font có tác dụng đó thôi.
hoặc máy tính của bạn có hỗ trợ listview thì có thể căn trái, phải theo từng cột và cũng có thể sort theo cả cột nữa.
 
Upvote 0
Cám ơn bạn, mình làm được rồi, vào listbox1-> textAlign->chọn 1 (căn trái)
214603
 
Upvote 0
Bạn chucuoi92 có thể chỉnh code lại để mình gõ vào cb_DH thì hiện kết quả vào ListBox1 luôn ạ. Code của bạn phải click vào cb_DH, nếu gõ vào thì bị lỗi.Ngay dòng:
Mã:
If Not dic.Contains(DNhap(i, 1)) Then
Không biết tại sao mà dữ liệu hiện vào ListBox chỉ có 9 dòng mà ListBox cũng có thanh cuộn dọc (ví dụ như chọn "đồng phục Mekong"), trong khi đó listbox1 thể hiện tối đa 18 dòng (ví dụ chọn "đợt 14")
 
Upvote 0
Bạn chucuoi92 có thể chỉnh code lại để mình gõ vào cb_DH thì hiện kết quả vào ListBox1 luôn ạ. Code của bạn phải click vào cb_DH, nếu gõ vào thì bị lỗi.Ngay dòng:
Mã:
If Not dic.Contains(DNhap(i, 1)) Then
Không biết tại sao mà dữ liệu hiện vào ListBox chỉ có 9 dòng mà ListBox cũng có thanh cuộn dọc (ví dụ như chọn "đồng phục Mekong"), trong khi đó listbox1 thể hiện tối đa 18 dòng (ví dụ chọn "đợt 14")

sửa đoạn code như thế này thì listbox sẽ không có thanh cuộn khi số dòng danh sách ít hơn số dòng trong listbox
Và gõ vào cb_DH giống như tìm kiếm.
Mã:
Private Sub cb_DH_Change()
Dim DNhap, DXuat, tmp, tam
Dim dic As Object
Dim i As Long, j As Long, k As Long, x As Long
Dim WF As WorksheetFunction
Set WF = Application.WorksheetFunction
Set dic = CreateObject("System.Collections.SortedList")
DNhap = Sheet1.Range("D3", Sheet1.Range("G" & Sheet1.Rows.count).End(xlUp).Offset(2))
DXuat = Sheet2.Range("E3", Sheet2.Range("H" & Sheet2.Rows.count).End(xlUp).Offset(2))
On Error Resume Next
ReDim tmp(1 To UBound(DNhap), 1 To 7)
   For i = 1 To UBound(DNhap)
       If UCase(DNhap(i, 4)) Like "*" & UCase(Me.cb_DH.Value) & "*" Then
            If Not dic.Contains(DNhap(i, 1)) Then
                k = k + 1
                dic.Add DNhap(i, 1), k
                tmp(k, 1) = k
                tmp(k, 2) = DNhap(i, 1)
                tmp(k, 3) = DNhap(i, 2)
                tmp(k, 4) = DNhap(i, 3)
                tmp(k, 5) = 0
                tmp(k, 6) = DNhap(i, 3)
                tmp(k, 7) = DNhap(i, 4)
             Else
               tmp(dic.Item(DNhap(i, 1)), 4) = tmp(dic.Item(DNhap(i, 1)), 4) + DNhap(i, 3)
               tmp(dic.Item(DNhap(i, 1)), 6) = tmp(dic.Item(DNhap(i, 1)), 6) + DNhap(i, 3)
             End If
       End If
   Next
   For i = 1 To UBound(DXuat)
       If DXuat(i, 4) Like Me.cb_DH.Value Then
            If Not dic.Contains(DXuat(i, 1)) Then
                k = k + 1
                dic.Add DXuat(i, 1), k
                tmp(k, 1) = k
                tmp(k, 2) = DXuat(i, 1)
                tmp(k, 3) = DXuat(i, 2)
                tmp(k, 5) = DXuat(i, 3)
                tmp(k, 6) = DXuat(i, 3)
                tmp(k, 7) = DXuat(i, 4)
             Else
               tmp(dic.Item(DXuat(i, 1)), 5) = tmp(dic.Item(DXuat(i, 1)), 5) + DXuat(i, 3)
               tmp(dic.Item(DXuat(i, 1)), 6) = tmp(dic.Item(DXuat(i, 1)), 6) - DXuat(i, 3)
             End If
       End If
   Next
If k > 0 Then
ReDim tam(1 To k, 1 To 7)
   For x = 0 To k - 1
          tam(x + 1, 1) = x + 1
          tam(x + 1, 2) = tmp(dic.GetByIndex(x), 2) & WF.Rept(" ", 60 - Len(tmp(dic.GetByIndex(x), 2)))
          tam(x + 1, 3) = tmp(dic.GetByIndex(x), 3) & WF.Rept(" ", 10 - Len(tmp(dic.GetByIndex(x), 3)))
          tam(x + 1, 4) = Format(tmp(dic.GetByIndex(x), 4), "#,##0.00")
          tam(x + 1, 5) = Format(tmp(dic.GetByIndex(x), 5), "#,##0.00")
          tam(x + 1, 6) = Format(tmp(dic.GetByIndex(x), 6), "#,##0.00")
          tam(x + 1, 7) = tmp(dic.GetByIndex(x), 7) & WF.Rept(" ", 25 - Len(tmp(dic.GetByIndex(x), 7)))
   Next
 
Me.ListBox1.List = tam
End If
End Sub
Nếu đã căn lề trái thì bỏ phần : "& WF.Rept(" ", 60 - Len(tmp(dic.GetByIndex(x), 2)))"
& WF.Rept(" ", 10 - Len(tmp(dic.GetByIndex(x), 3)))
& WF.Rept(" ", 25 - Len(tmp(dic.GetByIndex(x), 7)))
 
Lần chỉnh sửa cuối:
Upvote 0
Có lẽ máy latop của bạn thiếu thư viên , tự tìm hiểu trên internet xem sao, mình cũng chưa gặp trường hợp này.
À mà thử vào tools/references... xem có báo missing cái nào không.

Theo như mình vừa mới tìm hiểu thì lỗi do thiếu Microsoft.NET Framework(Version nào thì không rõ)
Vào đường link dưới đây tải về xem sao.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=1639
Sao mình kiểm tra thì thấy Laptop của mình có Netframework 4.0 rồi mà vẫn bị lỗi như vậy.
 
Upvote 0
Cám ơn bạn chucuoi92, lỗi đã được khắc phục .
 
Upvote 0
Chào mọi người!
File của em giờ mới phát sinh ra vấn đề mới, mong mọi người giúp em với, đó là giờ người ta gửi phụ liệu xài chung cho cả 2 đợt hàng, ví dụ như "keo VKD215-060P-Black" gửi chung cho 2 đợt Fedal/Juno, nhưng khi xuất thì em xuất cho từng đợt, khi chọn từng đợt hàng thì có xuất, nhưng khi chọn chung thì không có xuất.
Ví dụ em chọn đợt hàng: Fedal/Juno thì có nhập mà không có xuất(xuất ở đây là của cả Fedal và Juno), như keo VKD215-060P-Black thì có nhập là 1100 nhưng xuất là 0 và tồn là 1100, đúng phải là nhập 1100, xuất là 300 (Fedal) và 600(Juno) = 900, tồn là 200.
Mong các anh chị xem giúp.
 

File đính kèm

  • GPE1.xlsb
    47.9 KB · Đọc: 9
Upvote 0
Các anh chị giúp em với ạ.
 
Upvote 0
Web KT
Back
Top Bottom