Ghi chú màu chữ khi dữ liệu không giống nhau

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vulunktheky

Thành viên thường trực
Tham gia
2/3/18
Bài viết
268
Được thích
84
Giới tính
Nam
XIn chào Anh/Chị và các bạn,

Mình có một vấn đề xin nhờ Anh/Chị và các bạn trợ giúp.
File dữ liệu của mình tương đối nhiều khoảng trên 5,000 dòng.
Với yêu cầu:
Xét nối Từng dòng các cột A,C,D,G,H,I,J,L,O,P
- Trường hợp 1: Nếu dòng của cột C có 200 mà không có 100 thì tô màu chữ đỏ (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 2: Nếu dòng của cột C có 100 mà không 200 thì tô màu chữ xanh (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 3: Nếu dòng của cột C vừa có 100 và 200 thì không làm gì cả.
Em xin cảm ơn.

1671243008007.png
 

File đính kèm

  • ghi chu mau chu.xlsb
    9.4 KB · Đọc: 18
XIn chào Anh/Chị và các bạn,

Mình có một vấn đề xin nhờ Anh/Chị và các bạn trợ giúp.
File dữ liệu của mình tương đối nhiều khoảng trên 5,000 dòng.
Với yêu cầu:
Xét nối Từng dòng các cột A,C,D,G,H,I,J,L,O,P
- Trường hợp 1: Nếu dòng của cột C có 200 mà không có 100 thì tô màu chữ đỏ (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 2: Nếu dòng của cột C có 100 mà không 200 thì tô màu chữ xanh (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 3: Nếu dòng của cột C vừa có 100 và 200 thì không làm gì cả.
Em xin cảm ơn.

View attachment 284751
Trường hợp cột C vừa có 100 và 200 thì trông nó như thế nào bạn nhỉ
 
Upvote 0
Chỉ cần quan tâm cột C, O. Biểu diễn kỹ thuật cá nhân đi bạn. :wallbash: :wallbash: :wallbash:
Không biểu diễn gì cả. Ở đây có chỗ đang chưa rõ, số 100 và 200 sao lại ở hai dòng khác nhau chứ không phải trong một dòng, như vậy cứ xuất hiện trong cột C cả hai số bất kể ở dòng nào thì sẽ không tô mầu cả cột sao?
 
Upvote 0
Không biểu diễn gì cả. Ở đây có chỗ đang chưa rõ, số 100 và 200 sao lại ở hai dòng khác nhau chứ không phải trong một dòng, như vậy cứ xuất hiện trong cột C cả hai số bất kể ở dòng nào thì sẽ không tô mầu cả cột sao?
Hình như là giày, giày nó theo size cột O. 100 200 là hàng loại 1, loại 2. :p :p :p
Mình là dân chuyên đoán nên biết ngay. Không trúng thì trật.
 
Upvote 0
XIn chào Anh/Chị và các bạn,

Mình có một vấn đề xin nhờ Anh/Chị và các bạn trợ giúp.
File dữ liệu của mình tương đối nhiều khoảng trên 5,000 dòng.
Với yêu cầu:
Xét nối Từng dòng các cột A,C,D,G,H,I,J,L,O,P
- Trường hợp 1: Nếu dòng của cột C có 200 mà không có 100 thì tô màu chữ đỏ (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 2: Nếu dòng của cột C có 100 mà không 200 thì tô màu chữ xanh (giống nhau ở các cột chỉ khác nhau ở cột C)
- Trường hợp 3: Nếu dòng của cột C vừa có 100 và 200 thì không làm gì cả.
Em xin cảm ơn.

View attachment 284751
Bạn tham khảo:
Mã:
Option Explicit

Sub tapto()
    
    Dim dic As Object, Sheet As Worksheet, rng As Range, sCode As String, r As Long
    
    Set Sheet = ThisWorkbook.ActiveSheet
    r = Sheet.Cells(Sheet.Rows.Count, "A").End(xlUp).Row
    Set rng = Sheet.Range("A2:P" & r)
    Set dic = CreateObject("Scripting.Dictionary")

    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), rng(r, 3), rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If Not dic.Exists(sCode) Then dic.Add sCode, r
    Next r

    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), 200, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If dic.Exists(sCode) Then
            sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If Not dic.Exists(sCode) Then rng(r, 1).Resize(, 16).Font.ColorIndex = 3 Else rng(r, 1).Resize(, 16).Font.ColorIndex = 1
        ElseIf Not dic.Exists(sCode) Then
            sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If dic.Exists(sCode) Then rng(r, 1).Resize(, 16).Font.ColorIndex = 5
        End If
    Next r
    
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn tham khảo:
Mã:
Option Explicit

Sub tapto()
   
    Dim dic As Object
    Dim Sheet As Worksheet, rng As Range
    Dim data As Variant
    Dim sCode As String
    Dim r As Long
    Set Sheet = ThisWorkbook.ActiveSheet
    r = Sheet.Cells(Sheet.Rows.Count, "A").End(xlUp).Row
    Set rng = Sheet.Range("A2:P" & r)
    Set dic = CreateObject("Scripting.Dictionary")
   
    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), rng(r, 3), rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If Not dic.Exists(sCode) Then dic.Add sCode, r
        rng(r, 2) = Empty
    Next r

    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), 200, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If dic.Exists(sCode) Then
            sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If Not dic.Exists(sCode) Then
                rng(r, 2) = "Mau do"
            Else
                rng(r, 2) = "Khong lam gi"
            End If
        ElseIf Not dic.Exists(sCode) Then
             sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If dic.Exists(sCode) Then
                rng(r, 2) = "Mau xanh"
            End If
        End If
    Next r
   
End Sub
Lâu rồi mới thấy chị quay lại GPE
Nhiệt tình ở chị lúc nào cũng có hỉ?!
Chúc chị cuối tuần vui nhé!
 
Upvote 0
Không biểu diễn gì cả. Ở đây có chỗ đang chưa rõ, số 100 và 200 sao lại ở hai dòng khác nhau chứ không phải trong một dòng, như vậy cứ xuất hiện trong cột C cả hai số bất kể ở dòng nào thì sẽ không tô mầu cả cột sao?
Mình sẽ xét tất cả các cột theo dòng hàng ngang nếu giống nhau hết nhưng chỉ khác cột C 100 và 200 thôi ạ. Và tô màu theo hàng chứ không theo cột ạ
Bài đã được tự động gộp:

Hình như là giày, giày nó theo size cột O. 100 200 là hàng loại 1, loại 2. :p :p :p
Mình là dân chuyên đoán nên biết ngay. Không trúng thì trật.
Này là giày á bạn. 100 là hàng loại A, 200 là số hàng lỗi của hàng loại A.
Mục đích tô màu là xác định giày đó vừa có hàng A vừa có hàng lỗi hoặc Chỉ có hàng lỗi. Hoặc không có hàng lỗi.
 
Upvote 0
Bạn tham khảo:
Mã:
Option Explicit

Sub tapto()
   
    Dim dic As Object, Sheet As Worksheet, rng As Range, sCode As String, r As Long
   
    Set Sheet = ThisWorkbook.ActiveSheet
    r = Sheet.Cells(Sheet.Rows.Count, "A").End(xlUp).Row
    Set rng = Sheet.Range("A2:P" & r)
    Set dic = CreateObject("Scripting.Dictionary")

    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), rng(r, 3), rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If Not dic.Exists(sCode) Then dic.Add sCode, r
    Next r

    For r = 1 To rng.Rows.Count
        sCode = Join(Array(rng(r, 1), 200, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
        If dic.Exists(sCode) Then
            sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If Not dic.Exists(sCode) Then rng(r, 1).Resize(, 16).Font.ColorIndex = 3 Else rng(r, 1).Resize(, 16).Font.ColorIndex = 1
        ElseIf Not dic.Exists(sCode) Then
            sCode = Join(Array(rng(r, 1), 100, rng(r, 8), rng(r, 9), rng(r, 10), rng(r, 12), rng(r, 15), rng(r, 16)), "|")
            If dic.Exists(sCode) Then rng(r, 1).Resize(, 16).Font.ColorIndex = 5
        End If
    Next r
   
End Sub
Cảm ơn bạn rất nhiều
 
Upvote 0
Web KT
Back
Top Bottom