Hỏi về phương thức FIND trong VBA (1 người xem)

Liên hệ QC

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

hsm.ksxd

Thành viên chính thức
Tham gia
24/8/17
Bài viết
77
Được thích
5
Giới tính
Nam
Em mới sưu tầm trên mạng được 1 sub đánh dấu các giá trị trùng nhau bằng màu sắc khác nhau. Nhưng không hiểu sao 1 số giá trị trùng nhau nó không đánh dấu được. Em nghĩ là phương thức Find trong Sub này có vấn đề gì đó. Mong các bác giúp em với ạ.
Mã:
Sub Highlight_Duplicate()
Dim ws As Worksheet
Dim cell As Range
Dim myrng As Range
Dim clr As Long
Dim lastcell As Range
Dim i As Long
Dim lastrow As Long

Set ws = ThisWorkbook.ActiveSheet

'Vung can danh dau gia tri trung nhau
Set myrng = ws.Range("A4:K" & Range("b" & ws.Rows.Count).End(xlUp).Row)

With myrng
Set lastcell = .Cells(.Cells.Count)
End With

myrng.Interior.ColorIndex = xlNone
clr = 3

For Each cell In myrng
'Kiem tra so gia tri trung nhau trong vung, neu co hai gia tri trung nhau tro len thi thuc hien
If Application.WorksheetFunction.CountIf(myrng, cell) > 1 Then
'Neu la o dau tien cua cac gia tri trung nhau trong vung
If myrng.Find(what:=cell, lookat:=xlWhole, MatchCase:=False, after:=lastcell).Address = cell.Address Then
'Thiet lap mau
cell.Interior.ColorIndex = clr
clr = clr + 1
i = i + 1
Else
'Thiet lap mau tu o thu 2 voi cac gia tri trung nhau
cell.Interior.ColorIndex = myrng.Find(what:=cell, lookat:=xlWhole, MatchCase:=False, after:=lastcell).Interior.ColorIndex
End If
End If
Next

'Lay dong cuoi cung cua vung du lieu
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & lastrow + 2).Value = "Tong so co " & i & " gia tri trung nhau"
End Sub
 

File đính kèm

Nhưng không hiểu sao 1 số giá trị trùng nhau nó không đánh dấu được. Em nghĩ là phương thức Find trong Sub này có vấn đề gì đó.
Mình chạy trên máy mình nó đánh dấu hết những ô chứa trị trùng mà!
Bạn cho biết nó không đánh dấu những ô nào cụ thể xem sao?
 
Upvote 0
Mình chạy trên máy mình nó đánh dấu hết những ô chứa trị trùng mà!
Bạn cho biết nó không đánh dấu những ô nào cụ thể xem sao?
Lạ nhỉ. Lúc nãy em chạy sub thì mấy giá trị "a" không được đánh dấu. Giờ tắt hết file excel, rồi mở lại thì lại được. Cảm ơn bác đã quan tâm
 

File đính kèm

  • 12.jpg
    12.jpg
    245.4 KB · Đọc: 9
Upvote 0
Web KT

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

Back
Top Bottom