Xin giúp tự tạo mã ID khách tăng dần khi nhập

Liên hệ QC

thinhldc

Thành viên mới
Tham gia
27/12/16
Bài viết
8
Được thích
0
Công việc của mình hay phải sắp xếp theo ngày, đôi khi lại phải sắp xếp theo họ tên khác hàng, nên số thứ tự nó sẽ khác nhau.
Mình nhờ mọi người giúp, có mã VBA nào, khi mình nhập vào cột họ tên, thì ở ô cột MÃ ID, nó tự tạo 1 mã: Lấy số lớn nhất cột C + thêm 1.
Nghĩa là: Mỗi 1 người sẽ được gắn với Mã ID, mã ID này sẽ khác nhau và không thay đổi được.
 

File đính kèm

  • Xin nhờ giúp.xlsx
    9.7 KB · Đọc: 15
Công việc của mình hay phải sắp xếp theo ngày, đôi khi lại phải sắp xếp theo họ tên khác hàng, nên số thứ tự nó sẽ khác nhau.
Mình nhờ mọi người giúp, có mã VBA nào, khi mình nhập vào cột họ tên, thì ở ô cột MÃ ID, nó tự tạo 1 mã: Lấy số lớn nhất cột C + thêm 1.
Nghĩa là: Mỗi 1 người sẽ được gắn với Mã ID, mã ID này sẽ khác nhau và không thay đổi được.
Thử code dùng sự kiện.
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
        Dim arr, max As Long, i As Long, lr As Long, a As Long
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        If Not Intersect(Target, Range("B2:B1000")) Is Nothing Then
            If Target.Count = 1 Then
               If Len(Target.Value) > 0 And Len(Target.Offset(, 1)) = 0 Then
                  lr = Range("C" & Rows.Count).End(xlUp).Row
                  arr = Range("B2:C" & lr).Value
                  max = 10001
                  For i = 1 To UBound(arr)
                      If Len(arr(i, 2)) > 0 Then
                         a = CLng(arr(i, 2)) + 1
                         If max < a Then max = a
                      End If
                  Next i
                  Target.Offset(, 1).Value = max
              End If
           End If
       End If
       Application.ScreenUpdating = True
       Application.EnableEvents = True
End Sub
 
Upvote 0
Công việc của mình hay phải sắp xếp theo ngày, đôi khi lại phải sắp xếp theo họ tên khác hàng, nên số thứ tự nó sẽ khác nhau.
Mình nhờ mọi người giúp, có mã VBA nào, khi mình nhập vào cột họ tên, thì ở ô cột MÃ ID, nó tự tạo 1 mã: Lấy số lớn nhất cột C + thêm 1.
Nghĩa là: Mỗi 1 người sẽ được gắn với Mã ID, mã ID này sẽ khác nhau và không thay đổi được.
Bạn nhập code này vào chỗ Worksheet nhé.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer, lr As Integer
    Dim MaID As Long
 
    If Target.Count > 1 Or IsEmpty(Target) or Len(Target.Offset(, 1)) > 0 Then Exit Sub
 
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
        lr = Range("B" & Rows.Count).End(xlUp).Row
        For i = 2 To lr
            If MaID <= Cells(i, 3) Then MaID = Cells(i, 3).Value + 1
        Next i
        Target.Offset(, 1).Value = MaID
    End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em làm được rồi. Em cảm ơn nhiều nhiều ạ
 
Upvote 0
Web KT

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

Back
Top Bottom