Nhờ sửa code tìm kiếm số phiếu tương ứng với các bộ phận

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

THU UYEN317

Thành viên mới
Tham gia
23/3/23
Bài viết
10
Được thích
0
Xin chào các anh chị,
Em có học hỏi và áp dụng code nhưng em chưa biết cách hết nên nhờ các anh chị giúp đỡ sửa code giùm em:
Khi bấm vào form nhập sẽ hiện ra bảng thông tin xuất, bấm chọn vào bộ phận xuất sẽ hiện ra mã bộ phận và trong số phiếu sẽ lấy số phiếu tại chi tiết nhập, trong cột B có nhiều bộ phận và số phiếu khác nhau, em muốn khi chọn thông tin bộ phận xuất sẽ tìm được số phiếu lớn nhất bộ phận đó và tự động tăng thêm 1 số
Em có đính kèm file.
Em xin chân thành cảm ơn ạ!
 

File đính kèm

  • FROM NHAP .xlsm
    172.7 KB · Đọc: 14
Xin chào các anh chị,
Em có học hỏi và áp dụng code nhưng em chưa biết cách hết nên nhờ các anh chị giúp đỡ sửa code giùm em:
Khi bấm vào form nhập sẽ hiện ra bảng thông tin xuất, bấm chọn vào bộ phận xuất sẽ hiện ra mã bộ phận và trong số phiếu sẽ lấy số phiếu tại chi tiết nhập, trong cột B có nhiều bộ phận và số phiếu khác nhau, em muốn khi chọn thông tin bộ phận xuất sẽ tìm được số phiếu lớn nhất bộ phận đó và tự động tăng thêm 1 số
Em có đính kèm file.
Em xin chân thành cảm ơn ạ!
Quy cách phiếu của bạn như thế nào.2304 là gì có thay đổi không.Mà nó hiện thị số phiếu ở đâu.
 
Upvote 0
Quy cách phiếu của bạn như thế nào.2304 là gì có thay đổi không.Mà nó hiện thị số phiếu ở đâu.
Quy cách phiếu của em là khi bấm vào chọn Bộ Phận trên userform sẽ hiện ra số phiếu, trong bảng em đang để số là: 23040001,.... số 23 là 2 ký tự cuối của năm, số 04 là tháng hiện tại, 0001 là số tự nhảy, khi qua tháng mới hoặc năm mới sẽ tự động thay đổi tháng hoặc năm ạ.
 
Upvote 0
Dùng hàm Find để tìm partial match số mã, ví dụ "BB2304". Trị tìm được đầu tiên là số đầu tiên trong tháng 4, năm 2023. Ghi nó vào triDau, và triCuoi. Tiếp tục tìm, mỗi i lần tìm được kế tiêp thì ghi vào triCuoi. Đến khi hết thì ta tìm được trị đầu và trị cuối.
 
Upvote 0
Quy cách phiếu của em là khi bấm vào chọn Bộ Phận trên userform sẽ hiện ra số phiếu, trong bảng em đang để số là: 23040001,.... số 23 là 2 ký tự cuối của năm, số 04 là tháng hiện tại, 0001 là số tự nhảy, khi qua tháng mới hoặc năm mới sẽ tự động thay đổi tháng hoặc năm ạ.
Vậy còn thêm là nó hiển thị ở đâu nhỉ cho nó ở 1 ô texbox nào đó
Quy cách phiếu của em là khi bấm vào chọn Bộ Phận trên userform sẽ hiện ra số phiếu, trong bảng em đang để số là: 23040001,.... số 23 là 2 ký tự cuối của năm, số 04 là tháng hiện tại, 0001 là số tự nhảy, khi qua tháng mới hoặc năm mới sẽ tự động thay đổi tháng hoặc năm ạ.
Sửa 1 chút code của bạn.Nếu dữ liệu nhiều có thể chỉnh sang dạng mảng và lưu vào dic
Mã:
Sub DemSoPhieu_NHAP()
Dim Dic As New Scripting.Dictionary
Dim LR As Long, j As Long, k As Long, a As Long, max As Long
Dim Arr As Variant, KQ As Variant
Dim selectedDepartment As String
Dim lastTwoDigitsOfYearMonth As String
Dim currentYear As String, currentMonth As String
Dim newSoPhieu As String
Dim foundDepartment As Boolean
' Get selected department from combobox
selectedDepartment = NHAPLIEU_DATA123.NXK_NHAP.Value
' Find department in column B on Sheet1
LR = Sheet1.Range("B" & Rows.Count).End(xlUp).Row + 1
Arr = Sheet1.Range("B6:C" & LR).Value
     currentYear = Right(Year(Date), 2)
     currentMonth = Right("0" & Month(Date), 2)
     lastTwoDigitsOfYearMonth = NHAPLIEU_DATA123.NXK_NHAP.Value & currentYear & currentMonth
     max = 1
        For Each Cell In Sheet1.Range("B6:B" & LR)
            If Len(Cell.Value) > 7 Then
               If lastTwoDigitsOfYearMonth = Left(Cell.Value, 7) Then
                  a = Right(Cell.Value, Len(Cell.Value) - 7)
                  If a >= max Then max = a + 1
               End If
            End If
        Next Cell
NHAPLIEU_DATA123.SO_PHIEU_NHAP = lastTwoDigitsOfYearMonth & Format(max, "0000")
 
Upvote 0
Web KT

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

Back
Top Bottom