Làm sao để tô màu xen kẽ từng nhóm dòng có một vài cột dữ liệu trùng nhau?

Liên hệ QC

7dragonball

Thành viên mới
Tham gia
28/11/10
Bài viết
10
Được thích
0
mình muốn tô màu tự động, xen kẽ từng nhóm dòng mà 1 vài cột dữ liệu giống nhau thì làm thế nào ? như ví dụ này chẳng hạn
Untitled.jpg

Nếu ai làm được thì làm thử hộ luôn vào file excel đính kèm nhé .
 

File đính kèm

  • DK hoc.xls
    37 KB · Đọc: 42
Bạn mô tả xem, tại sao chúng được tô màu vậy?
 
mình muốn tô màu tự động, xen kẽ từng nhóm dòng mà 1 vài cột dữ liệu giống nhau thì làm thế nào ? như ví dụ này chẳng hạn
View attachment 100831

Nếu ai làm được thì làm thử hộ luôn vào file excel đính kèm nhé .
Đúng là hổng hiểu tô màu để làm gì, nếu để xếp lớp hay phát hiện trùng 1 tên đăng ký nội dung học trùng nhau thì sort 1 phát theo điều kiện môn học hay gì gì đó là nó "dồn đống" lại là xong.
Ví dụ hư thế này:
Sort.JPG
 
cái ảnh là do mình tô màu thủ công, mô phỏng điều mình muốn làm với danh sách đó thôi, còn mục đích tô màu để nhìn cho rõ từng người 1 trong danh sách
 
cái ảnh là do mình tô màu thủ công, mô phỏng điều mình muốn làm với danh sách đó thôi, còn mục đích tô màu để nhìn cho rõ từng người 1 trong danh sách

Chẳng hiểu quy luật tô màu luôn, có lúc tên trùng nhau thì tô màu cả 2, có lúc thì lại tô màu 1 tên duy nhất không trùng
 
Chẳng hiểu quy luật tô màu luôn, có lúc tên trùng nhau thì tô màu cả 2, có lúc thì lại tô màu 1 tên duy nhất không trùng

cái file mình đính kèm, các trường dữ liệu là mình tô thủ công, chưa sử hàm, hay công thức nào cả, mình muốn tô những màu xen kẽ những nhóm trường dữ liệu có cùng tên với nhau, đó là quy luật! nhưng mình chưa biết sử dụng hàm nào, hoặc bạn có thể giúp mình tô màu các trường dữ liệu có cùng tên, tô 1 cùng 1 màu cũng được, tức là các nhóm trường dữ liệu khác tên nhau tô màu khác nhau
 
Chẳng hiểu quy luật tô màu luôn, có lúc tên trùng nhau thì tô màu cả 2, có lúc thì lại tô màu 1 tên duy nhất không trùng

Mấy món TRỪU TƯỢNG này phải chờ khi anh Cò làm vài ve, ảnh mộng du xong sẽ nghĩ ra liền
Ẹc... Ẹc... (xem bài anh Cò làm xong, nhiều khi cũng hổng biết tại sao ảnh hiểu tác giả muốn điều gì...)
 
bài giải sai, nhờ Mod xóa dùm. cám ơn nhiều
 
Lần chỉnh sửa cuối:
Khi chưa có CCG ở đây, thì mình thử lần cuối:

Thứ nhất CSDL của bạn không có tiêu đề các trường; Việc này đã là bất bình thường ( & không giống ai!)

Bạn hãy nói xem, tại sao dòng 5 được tô màu?

(Dòng 8 & 9 cùng 1 người thì được tô màu, tạm hiểu là vậy!)

Rồi dòng 12 sao lại được tô màu?

Ba dòng này cần cụ thể thôi đi dùm;

Bạn cứ lang bang, chung chung chả đâu vào với đâu, mệt cho mọi người & lâu cho bạn quá;

Vĩnh biệt!
 
mình gửi lại mọi người file mới, file trắng, ý mình muốn là tô màu những trường dữ liệu cùng tên thì cùng 1 màu, còn khác tên thì khác màu,
 

File đính kèm

  • DK hoc.xls
    39.5 KB · Đọc: 43
cái màu đỏ dựa vào cột nào vậy bạn?nếu dựa vào cột B thì bạn cho ví dụ sai rùi
mình dùng format condition tô màu cho những tên trùng ở cột B, mở format condition xem nha

=COUNTIF($C$1:$C$200,$C1)>1 hàm này mình cũng biết rồi nhưng nó sẽ tô tất cả những trường dữ liệu mà tên được lặp lại từ 2 lần trở lên cùng 1 màu vàng, trong khi mình muốn những người có cùng tên thì được tô 1 màu khác với những người cùng tên khác
 
=COUNTIF($C$1:$C$200,$C1)>1 hàm này mình cũng biết rồi nhưng nó sẽ tô tất cả những trường dữ liệu mà tên được lặp lại từ 2 lần trở lên cùng 1 màu vàng, trong khi mình muốn những người có cùng tên thì được tô 1 màu khác với những người cùng tên khác

Thử với code này xem thế nào !
[GPECODE=vb]Sub GPE()
Dim Tmparr, Arr, Item, tmp As Long, Colour As Long
Dim Ir As Long
Range("A1:F1000").Interior.Pattern = xlNone
Tmparr = Range("A2", [A65536].End(3))
With CreateObject("Scripting.Dictionary")
For Ir = 1 To UBound(Tmparr, 1)
Item = Tmparr(Ir, 1)
If Len(Item) Then
tmp = CLng(Item)
If Not .exists(tmp) Then
.Add tmp, Ir
Else
Colour = Int(Rnd() * 65536)
Range("A" & Ir + 1, "F" & Ir + 1).Interior.Color = Colour
Range("A" & .Item(tmp) + 1, "F" & .Item(tmp) + 1).Interior.Color = Colour
End If
End If
Next
End With
End Sub[/GPECODE]
 
Lần chỉnh sửa cuối:
anh 7dragonball ơi, cho em hỏi chút, em thấy anh viết file đó khá hữu ích, và em thấy a có viết mấy dòng code ý anh, anh cho em hỏi là làm thế nào để tạo ra cái file đấy anh nhỉ, nghĩa là em đang có 1 file bình thường, em muốn tạo 1 file mà nó giống như của anh ý.
a chỉ giúp em với a nhé
em cảm ơn anh.
 
em quên, em nhìn nhầm, em muốn hỏi anh hungpecc1
 
em quên, em nhìn nhầm, em muốn hỏi anh hungpecc1


*Đầu tiên bạn phải làm quen với các kiến thức cơ bản nhất của VBA
* Tạo 1 module --> copy các đoạn code vào rồi tự vọc,chỉnh sửa cho phù hợp với từng dữ liệu của file !
 
Để dễ nhìn, ta nên là:

PHP:
Sub GPE()
 Dim TmpArr, Arr, Item
 Dim Ir As Long, tmp As Long, Colour As Long
    
    Colour = 34
    TmpArr = Range("A2", [A65536].End(3))
    With CreateObject("Scripting.Dictionary")
        For Ir = 1 To UBound(TmpArr, 1)
            Item = TmpArr(Ir, 1)
            If Len(Item) Then
                tmp = CLng(Item)
                If Not .exists(tmp) Then
                    .Add tmp, Ir
                Else
                    Colour = Colour + 1
                    If Colour > 42 Then Colour = 34
                    Range("A" & Ir + 1, "F" & Ir + 1).Interior.ColorIndex = Colour
                    Range("A" & .Item(tmp) + 1, "F" & .Item(tmp) + 1).Interior.ColorIndex = Colour
                End If
            End If
        Next
    End With
End Sub

Đó là chuyện nhỏ; Chuyện lớn hơn là:
Có khi nào có 3 dòng trùng tên nhau không ta?

Chúc vui!

 
Web KT

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

Back
Top Bottom