Tạo mã hàng hóa cho hàng hóa mới! Nhờ ACE giúp mình!

Liên hệ QC
Xin anh cho một bài ví dụ bằng SheetForm được không anh Nghĩa
1622375472816.png

Hình này là tôi thiết kế 1 cái form, khi form show nó load Nhóm hàng 3 cấp (đã được lọc duy nhất) và load Nhóm ký tự cũng đã được lấy ra từ Sheet ma co san.

Khi form show, bạn chỉ việc chọn Nhóm hàng nào cần đặt mã hàng mới, nó sẽ tự động lọc danh sách Tên hàng tương ứng với nhóm hàng. Tiếp theo bạn chọn Nhóm ký tự của Tên hàng này thì ngay sau đó Mã hàng mới sẽ có một danh sách mã hàng còn thiếu để bạn chọn.

Tôi chỉ có thể hướng dẫn thực hiện trên form tới đây, những việc khác tôi không làm.

Mã:
Private shMaCoSan As Worksheet, shNguon As Worksheet

Private Sub UserForm_Initialize()
    Dim e As Long
    Set shMaCoSan = Sheets("ma co san")
    Set shNguon = Sheets("NGUON")
    e = shNguon.Range("D" & Rows.Count).End(xlUp).Row
    ComboBox1.List = shNguon.Range("D2:D" & e).Value
    e = shNguon.Range("A" & Rows.Count).End(xlUp).Row
    ComboBox3.List = shNguon.Range("A2:B" & e).Value
End Sub

Private Sub ComboBox1_Change()
    ComboBox2.Text = ""
    ComboBox3.Text = ""
    ComboBox4.Text = ""
    TextBox1.Text = ""
    If ComboBox1.MatchFound Then
        Dim strNhomHang As String
        Dim arrTenHang, arrGetRows()
        Dim e As Long, n As Long, r As Long
        strNhomHang = LCase(ComboBox1.Text)
        e = shNguon.Range("H" & Rows.Count).End(xlUp).Row
        arrTenHang = shNguon.Range("G2:H" & e).Value
        For r = 1 To UBound(arrTenHang)
            If LCase(arrTenHang(r, 1)) = strNhomHang Then
                n = n + 1
                ReDim Preserve arrGetRows(1 To n)
                arrGetRows(n) = arrTenHang(r, 2)
            End If
        Next
        If n Then
            ComboBox2.List = arrGetRows
        End If
    End If
End Sub

Private Sub ComboBox3_Change()
    ComboBox4.Text = ""
    ComboBox4.Clear
    If ComboBox3.MatchFound Then
        Dim e As Long
        Dim arrMaHang
        e = shMaCoSan.Range("A" & Rows.Count).End(xlUp).Row
        arrTenHang = shMaCoSan.Range("A2:A" & e).Value
        arrMaHang = FindShortageID(shMaCoSan.Range("A2:A" & e), ComboBox3.Text, ComboBox3.List(, 1))
        ComboBox4.List = arrMaHang
    End If
End Sub
 

File đính kèm

  • import hang moi - help.xlsm
    528.5 KB · Đọc: 6
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom