Sửa lại như thế này nhé:Nếu dùng cái này, khi chạy code rồi nó cho kết quả đúng ý em. Nhưng em muốn chưa thấy thỏa mãn vì: Nếu Chạy code nó sẽ tìm ra mã sai và tô màu. Khi mình sửa mã đó cho đúng và chạy lại code thì nó vẫn giữ màu đã tô mà không trở về trạng thái bình thường như khi nó là đúng? Vậy code này phải sửa lại như thế nào ạ?
Sub ToMau()
Dim I, J
With Sheet2
For I = 5 To .Range("A" & Rows.Count).End(3).Row
For J = 1 To 3
If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0 Then
.Range("A" & I).Offset(, J - 1).Font.Bold = True
.Range("A" & I).Offset(, J - 1).Font.Color = -16776961
Else
.Range("A" & I).Offset(, J - 1).Font.Bold = False
.Range("A" & I).Offset(, J - 1).Font.ThemeColor = xlThemeColorLight1
End If
Next J
Next I
End With
End Sub
Sửa lại như thế này nhé:
P/s: Sao không ai làm cách mà "chim hồng" đang muốn nhỉ. Cách đó cũng rất hay và gọn.Mã:Sub ToMau() Dim I, J With Sheet2 For I = 5 To .Range("A" & Rows.Count).End(3).Row For J = 1 To 3 If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:C250"), Sheet2.Range("A" & I).Offset(, J - 1)) = 0 Then .Range("A" & I).Offset(, J - 1).Font.Bold = True .Range("A" & I).Offset(, J - 1).Font.Color = -16776961 Else .Range("A" & I).Offset(, J - 1).Font.Bold = False .Range("A" & I).Offset(, J - 1).Font.ThemeColor = xlThemeColorLight1 End If Next J Next I End With End Sub
For I = 5 To .Range("A" & Rows.Count).End(3).Row
Vấn đề này để chủ topic tự tùy biến. Dữ liệu của người khác thay đổi như thế nào sao mình biết được mà lần.Đoạn này
Mã:For I = 5 To .Range("A" & Rows.Count).End(3).Row
Nếu dòng cuối của cột A mà nhỏ hơn cột B, hoặc C thì tèo téo teo.............
Số liệu ở sheet DATA thực tế không phải là số liệu như vậy. Nó sẽ không tăng đều và đủ 7 ký tự mỗi ô ạ! Vậy nó có ảnh hưởng gì không?Vấn đề này để chủ topic tự tùy biến. Dữ liệu của người khác thay đổi như thế nào sao mình biết được mà lần.
Sub ToMau()
With Sheet2
.[A5].Select
.Range("A5:C14").FormatConditions.Delete
With Range("A5:C14").FormatConditions.Add( _
Type:=xlExpression, _
Formula1:="=Countif($O$1:$Q$250,A5)=0")
.Font.Color = -16776961
End With
End With
End Sub
For I = 5 To .Range("A" & Rows.Count).End(3).RowSố liệu ở sheet DATA thực tế không phải là số liệu như vậy. Nó sẽ không tăng đều và đủ 7 ký tự mỗi ô ạ! Vậy nó có ảnh hưởng gì không?
Góp thêm cách không vòng lặp dữ liệu sheet DATA chuyển qua 3 cột O, P, Q sheet FIND
Mã:Sub ToMau() With Sheet2 .[A5].Select .Range("A5:C14").FormatConditions.Delete With Range("A5:C14").FormatConditions.Add( _ Type:=xlExpression, _ Formula1:="=Countif($O$1:$Q$250,A5)=0") .Font.Color = -16776961 End With End With End Sub
Dạ. Em còn thua bác xa ạ. híc híc.hay quá anh ơi . anh này pro nè
Góp thêm cách không vòng lặp dữ liệu sheet DATA chuyển qua 3 cột O, P, Q sheet FIND
Mã:Sub ToMau() With Sheet2 .[A5].Select .Range("A5:C14").FormatConditions.Delete With Range("A5:C14").FormatConditions.Add( _ Type:=xlExpression, _ Formula1:="=Countif($O$1:$Q$250,A5)=0") .Font.Color = -16776961 End With End With End Sub
đó là ý tưởng của người có tài năng ....Úi úi...........anh ý dùng CF ...............mà 2007 không chạy được nên ảnh đưa sang cùng 1 sheet..................kakaka
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2