chinghia125
Thành viên mới
- Tham gia
- 12/11/09
- Bài viết
- 44
- Được thích
- 1
Nếu dùng hàm, sử dụng công thức sau:Xin chào các anh chị em .
Mình cần hổ trợ code thay cho hàm đếm ký tự , như file đính kèm . Nhờ code đơn giản nhất .
=H1&COUNTIF($H$1:H1,H1)
Cám ơn anh , nhưng em cần code macro , để chèn vào macro của mình .Nếu dùng hàm, sử dụng công thức sau:
Mã:=H1&COUNTIF($H$1:H1,H1)
Tham khảo code sau:Cám ơn anh , nhưng em cần code macro , để chèn vào macro của mình .
Sub Gpe_C()
Dim Dic As Object
Dim iR As Long, Tmp As String, sArr, rArr
Sheet1.Range("J1").Resize(1000).ClearContents
sArr = Range(Sheet1.[H1], Sheet1.[H65535].End(3)).Value
ReDim rArr(1 To UBound(sArr, 1), 1 To 1)
Set Dic = CreateObject("Scripting.Dictionary")
With Dic
For iR = 1 To UBound(sArr, 1)
Tmp = sArr(iR, 1)
If Not .Exists(Tmp) Then
.Add Tmp, 1
rArr(iR, 1) = Tmp & 1
Else
.Item(Tmp) = .Item(Tmp) + 1
End If
rArr(iR, 1) = Tmp & .Item(Tmp)
Next iR
End With
If iR Then Sheet1.Range("J1").Resize(iR - 1) = rArr
Set Dic = Nothing
End Sub
Cám ơn leonguyenz nhiều , code chạy tốt .Tham khảo code sau:
Mã:Sub Gpe_C() Dim Dic As Object Dim iR As Long, Tmp As String, sArr, rArr Sheet1.Range("J1").Resize(1000).ClearContents sArr = Range(Sheet1.[H1], Sheet1.[H65535].End(3)).Value ReDim rArr(1 To UBound(sArr, 1), 1 To 1) Set Dic = CreateObject("Scripting.Dictionary") With Dic For iR = 1 To UBound(sArr, 1) Tmp = sArr(iR, 1) If Not .Exists(Tmp) Then .Add Tmp, 1 rArr(iR, 1) = Tmp & 1 Else .Item(Tmp) = .Item(Tmp) + 1 End If rArr(iR, 1) = Tmp & .Item(Tmp) Next iR End With If iR Then Sheet1.Range("J1").Resize(iR - 1) = rArr Set Dic = Nothing End Sub