Nhờ anh chị lọc dữ liệu trùng và đánh số thứ tự (1 người xem)

  • Thread starter Thread starter romkut3
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

romkut3

Thành viên hoạt động
Tham gia
9/4/13
Bài viết
109
Được thích
3
Nhờ anh chị giúp đỡ, em có bảng exel, muốn dò cột A nếu trùng thì đánh theo 1 số thứ tự như cột B
Cột A có chứa cả chữ, còn cột B thì là 1 số mặc định (1514 ta có thể tùy chọn số cho nó , nhưng nó phải nhảy theo thứ tự +1)

CỘT A Cột B
là số 1 1514
là số 2 1515
là số 2 1515
là số 3 1516
là số 3 1516
là số 4 1517
anh cị ghé ngang giúp em vơi ạ, cảm ơn anh chị quan tâm!
 

File đính kèm

Chào bạn,
File đính kèm của bạn và ví dụ bạn đưa ra khác quá. Tôi tạm mô tả ví dụ của bạn như file đính kèm.
Chúc bạn sớm tìm được giải pháp cho mình.

Mã:
Sub Nothing_ThingNo()
Dim Dic As Object, k As Long
Dim sArr, dArr
sArr = Range("A3:A8").Value
k = [D1].Value - 1
ReDim dArr(1 To UBound(sArr), 1 To 1)
Set Dic = CreateObject("Scripting.dictionary")
For i = 1 To UBound(sArr)
    If Not Dic.exists(sArr(i, 1)) Then
        k = k + 1
        Dic.Add (sArr(i, 1)), k
        dArr(i, 1) = k
    Else
        dArr(i, 1) = Dic.Item(sArr(i, 1))
    End If
Next
[B3].Resize(i - 1, 1) = dArr
Set Dic = Nothing
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ anh chị giúp đỡ, em có bảng exel, muốn dò cột A nếu trùng thì đánh theo 1 số thứ tự như cột B
Cột A có chứa cả chữ, còn cột B thì là 1 số mặc định (1514 ta có thể tùy chọn số cho nó , nhưng nó phải nhảy theo thứ tự +1)

CỘT A Cột B
là số 1 1514
là số 2 1515
là số 2 1515
là số 3 1516
là số 3 1516
là số 4 1517
anh cị ghé ngang giúp em vơi ạ, cảm ơn anh chị quan tâm!
Chia sẻ cho bạn thêm cách này nhé!
Hơi thủ công 1 chút nhưng chắc dành cho những bạn ít tìm hiểu về VBA sẽ dễ hiểu hơn.

vxwrxk6r395hp30zg.jpg
 
Chào bạn,
File đính kèm của bạn và ví dụ bạn đưa ra khác quá. Tôi tạm mô tả ví dụ của bạn như file đính kèm.
Chúc bạn sớm tìm được giải pháp cho mình.

Mã:
Sub Nothing_ThingNo()
Dim Dic As Object, k As Long
Dim sArr, dArr
sArr = Range("A3:A8").Value
k = [D1].Value - 1
ReDim dArr(1 To UBound(sArr), 1 To 1)
Set Dic = CreateObject("Scripting.dictionary")
For i = 1 To UBound(sArr)
    If Not Dic.exists(sArr(i, 1)) Then
        k = k + 1
        Dic.Add (sArr(i, 1)), k
        dArr(i, 1) = k
    Else
        dArr(i, 1) = Dic.Item(sArr(i, 1))
    End If
Next
[B3].Resize(i - 1, 1) = dArr
Set Dic = Nothing
End Sub
cám ơn bạn quna tâm để mình thử
 
Web KT

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

Back
Top Bottom