điền mã theo điều kiện

Liên hệ QC

vinh10

Thành viên mới
Tham gia
23/11/21
Bài viết
6
Được thích
1
Cả nhà giúp em với ạ. Em muốn điền cho số chạy tự động tăng dần với những tên giống nhau thì sẽ trùng mã số nếu không trùng nhau thì sẽ tiếp tục tăng trùng sẽ lấy mã phía trước
 

File đính kèm

  • Ví dụ (1).xlsx
    10 KB · Đọc: 7
Cả nhà giúp em với ạ. Em muốn điền cho số chạy tự động tăng dần với những tên giống nhau thì sẽ trùng mã số nếu không trùng nhau thì sẽ tiếp tục tăng trùng sẽ lấy mã phía trước
Đoán đại
Mã:
Option Explicit

Sub abc()
Dim Nguon
Dim Kq, i, rws
Nguon = Sheet1.Range("C2", Sheet1.Range("C2").End(xlDown))
rws = UBound(Nguon)
ReDim Kq(1 To rws, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For i = 1 To rws
        If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
        Kq(i, 1) = .Item(Nguon(i, 1)) + 1
    Next i
End With
With Sheet1
    .Range("A2").Resize(rws, 1).ClearContents
    .Range("A2").Resize(rws, 1) = Kq
End With
End Sub
 
Upvote 0
Cả nhà giúp em với ạ. Em muốn điền cho số chạy tự động tăng dần với những tên giống nhau thì sẽ trùng mã số nếu không trùng nhau thì sẽ tiếp tục tăng trùng sẽ lấy mã phía trước
Bạn xem lại nội quy và sửa lại tiêu đề đi nhé
Bài này dùng công thức cũng được
 
Upvote 0
Đoán đại
Mã:
Option Explicit

Sub abc()
Dim Nguon
Dim Kq, i, rws
Nguon = Sheet1.Range("C2", Sheet1.Range("C2").End(xlDown))
rws = UBound(Nguon)
ReDim Kq(1 To rws, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For i = 1 To rws
        If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
        Kq(i, 1) = .Item(Nguon(i, 1)) + 1
    Next i
End With
With Sheet1
    .Range("A2").Resize(rws, 1).ClearContents
    .Range("A2").Resize(rws, 1) = Kq
End With
End Sub
Cho em hỏi muốn gán mã VD: KA001 thay cho 1 thì như thế nào vậy ạ
Bài đã được tự động gộp:

Bạn xem lại nội quy và sửa lại tiêu đề đi nhé
Bài này dùng công thức cũng được
Bạn cho mình xin công thức với ạ VD?: mã là KA001
 
Upvote 0
Cho em hỏi muốn gán mã VD: KA001 thay cho 1 thì như thế nào vậy ạ
Mã:
'If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = "KA" & Right(.Count + 1000, 3)
Bạn tìm dòng trên, thay = dòng dưới.

---
Bài này có lẽ gọi là "điền mã theo điều kiện" chắc không vấn đề gì
 
Upvote 0
Mã:
'If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = "KA" & Right(.Count + 1000, 3)
Bạn tìm dòng trên, thay = dòng dưới.

---
Bài này có lẽ gọi là "điền mã theo điều kiện" chắc không vấn đề gì
Mình đã thay nhưng có vẻ nó không hoạt động
 
Upvote 0
Mình đã thay nhưng có vẻ nó không hoạt động
Code trên sửa chưa hết, sửa lại thế này là chạy được
Mã:
Option Explicit


Sub abc()
Dim Nguon
Dim Kq, i, rws
Nguon = Sheet1.Range("C2", Sheet1.Range("C2").End(xlDown))
rws = UBound(Nguon)
ReDim Kq(1 To rws, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For i = 1 To rws
        'If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
        'Kq(i, 1) = .Item(Nguon(i, 1)) + 1
        If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = "KA" & Right(.Count + 1 + 1000, 3)
        Kq(i, 1) = .Item(Nguon(i, 1))
    Next i
End With
With Sheet1
    .Range("A2").Resize(rws, 1).ClearContents
    .Range("A2").Resize(rws, 1) = Kq
End With
End Sub
 
Upvote 0
Code trên sửa chưa hết, sửa lại thế này là chạy được
Mã:
Option Explicit


Sub abc()
Dim Nguon
Dim Kq, i, rws
Nguon = Sheet1.Range("C2", Sheet1.Range("C2").End(xlDown))
rws = UBound(Nguon)
ReDim Kq(1 To rws, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For i = 1 To rws
        'If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = .Count
        'Kq(i, 1) = .Item(Nguon(i, 1)) + 1
        If .Exists(Nguon(i, 1)) = False Then .Item(Nguon(i, 1)) = "KA" & Right(.Count + 1 + 1000, 3)
        Kq(i, 1) = .Item(Nguon(i, 1))
    Next i
End With
With Sheet1
    .Range("A2").Resize(rws, 1).ClearContents
    .Range("A2").Resize(rws, 1) = Kq
End With
End Sub
Cảm ơn bạn nhé mình làm được rồi ạ
 
Upvote 0
Web KT

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

Back
Top Bottom