Lọc dữ liệu theo màu sắc

Liên hệ QC

hutonline

Thành viên mới
Tham gia
25/7/07
Bài viết
22
Được thích
7
do mình mới tham gia nên ko biết cho vào mục nào??. Mình có vấn đề thế này, mong mọi người giúp đỡ:
Bảng dữ liệu sheet( Khối lượng) chứa nhiều chủng loại vật tư. Có những chủng loại vật tư tôi đánh dấu= màu sắc. Tôi muốn lọc những chủng loại vật tư cùng màu sắc đó về 1 chỗ, nếu được cho vào sheet( kQ). Tôi có file đính kèm, mong được sự hồi âm
 

File đính kèm

  • loc danh sach.zip
    159.5 KB · Đọc: 1,259
hutonline đã viết:
do mình mới tham gia nên ko biết cho vào mục nào??. Mình có vấn đề thế này, mong mọi người giúp đỡ:
Bảng dữ liệu sheet( Khối lượng) chứa nhiều chủng loại vật tư. Có những chủng loại vật tư tôi đánh dấu= màu sắc. Tôi muốn lọc những chủng loại vật tư cùng màu sắc đó về 1 chỗ, nếu được cho vào sheet( kQ). Tôi có file đính kèm, mong được sự hồi âm

Để cho dễ dàng, bạn không nên dùng màu sắc để phân biệt các mã hàng hóa. Vì nếu như thế thì chỉ khi dùng VBA mới lọc được thôi.

Bài của bạn có 2 cách :
C1: Mỗi hàng hóa chỉ có 1 mã duy nhất, khi lọc sẽ căn cứ vào mã để lọc
C2: Hoặc có thể phân loại hàng hóa theo nhóm. Nhóm 1, Nhóm 2 . . . . Khi lọc sẽ căn cứ vào nhóm để lọc

Chứ trong bài của bạn, mã giống nhau như tên khác nhau . . rất lộn xộn.
Cố gắng lên nhé.
Thân!
 
Bạn tải file này về, giãi nén vào thư mục: C:\Documents and Settings\User Profiles\Application Data\Microsoft\AddIns
Mở Excel lên, vào Tools\Add-Ins, chọn chử Color, OK
Vậy là bạn đã có hàm ColorRank đễ lọc dử liệu theo màu rồi đấy! Cú pháp hàm này giống hàm COUNTIF... =COLORRANK(mãng chứa màu, Cell chứa màu cần lọc)
Theo như file của bạn thì tại I7, gõ vào công thức =ColorRank($F$7:$F$14,F7)... Những màu giống nhau sẽ cho kết quả giống nhau
Mến
ANH TUẤN
 

File đính kèm

  • Color.zip
    6 KB · Đọc: 2,319
Ngoài ra còn có hàm ĐẾM MÀU...
Tải file này về và làm tương tự như trước, bạn sẽ có hàm CountByColor
Cú pháp: =CountByColor(Mãng cần đếm, cell chứa d/k màu)
Theo như file của bạn, tại I40 gõ vào công thức =CountByColor(E37:E44,F41) sẽ cho kết quả = 5 (nghĩa là trong mãng E37:E44 có 5 cell cùng màu với cell F41)
Mến
ANH TUẤN
 

File đính kèm

  • CountColor.zip
    5.7 KB · Đọc: 972
Đúng cái tôi đang cần. Nhiều khi mình chỉ bôi màu theo tính chất nào đó nhất định thôi chứ ko có quy luật nào cả. VD như những hàng đó đã được kiểm tra hôm trước hôm sau lọc ra để ko kiểm tra nữa chẳng hạn
 
Ẩn ~ dòng không thích hợp!

Bạn thử chọn 1 trong 3 màu theo Combo & xem đúng í bạn chưa!

Mã:
Option Explicit[b]
Sub ColorsFilter()[/b]
 Dim iColor As Integer, lRow As Long
 Dim Rng As Range, AllRng As Range
  
 iColor = Range("J6").Value
 Select Case iColor
 Case 1
    iColor = 6
 Case 2
    iColor = 4
 Case 3
    iColor = 35
 Case Else
    iColor = 2
 End Select
 Range("J6").Select
 With Selection.Interior
        .ColorIndex = iColor:                    .Pattern = xlSolid
 End With
 
 Cells.Select
 Selection.EntireRow.Hidden = False

 lRow = Range("B65432").End(xlUp).Row
 For Each Rng In Range("B7:B" & lRow)
    If Rng.Interior.ColorIndex <> iColor Then
        If AllRng Is Nothing Then
            Set AllRng = Rng.Rows
        Else
            Set AllRng = Union(AllRng, Rng.Rows)
        End If
    End If
 Next Rng
 AllRng.Select
 Selection.EntireRow.Hidden = True
 Set AllRng = Nothing
[b]End Sub[/b]
 

File đính kèm

  • ColorFilter.rar
    135.5 KB · Đọc: 988
Lần chỉnh sửa cuối:
File này hay lắm... có thể áp dụng trong 1 trường hợp nào đó... Nhưng theo yêu cầu của tác giả thì hình như họ muốn "sắp xếp" chứ ko phải là "lọc"... Tức là sắp dòng cùng màu nằm cạnh nhau, rồi tiếp theo đến những dòng cùng màu khác...
Mến
ANH TUẤN
 
Tôi thấy cách làm của các anh chị rất hay. Nhưng đấy là màu của bảng tính, còn màu của các ký tự trong bảng tính thì sao. Các anh chị giúp tôi nhé.
Cảm ơn các anh chị trước nha.
 
Tôi thấy cách làm của các anh chị rất hay. Nhưng đấy là màu của bảng tính, còn màu của các ký tự trong bảng tính thì sao. Các anh chị giúp tôi nhé.
Cảm ơn các anh chị trước nha.
Nguyên tắc giống nhau thôi bạn ơi!
Chú ý:
-Màu nền là: Interior.ColorIndex
-Màu Font là: Font.ColorIndex
Mở code ra và sửa lại thôi
 
Bạn tải file này về, giãi nén vào thư mục: C:\Documents and Settings\User Profiles\Application Data\Microsoft\AddIns
Mở Excel lên, vào Tools\Add-Ins, chọn chử Color, OK
Vậy là bạn đã có hàm ColorRank đễ lọc dử liệu theo màu rồi đấy! Cú pháp hàm này giống hàm COUNTIF... =COLORRANK(mãng chứa màu, Cell chứa màu cần lọc)
Theo như file của bạn thì tại I7, gõ vào công thức =ColorRank($F$7:$F$14,F7)... Những màu giống nhau sẽ cho kết quả giống nhau
Mến
ANH TUẤN
vậy với Excel 2007 thì làm thế nào. Giúp mình với
 
Nguyên tắc giống nhau thôi bạn ơi!
Chú ý:
-Màu nền là: Interior.ColorIndex
-Màu Font là: Font.ColorIndex
Mở code ra và sửa lại thôi
Mình làm thử hai hàm colorrank, countbycolor mà vẫn không đếm được có bao nhiêu cel có cùng màu trong bảng. Bảng của mình là màu font nhưng mình k biết cách sửa code thế nào. Rất mong các bạn giúp mình với.
 
mình cũng đang tìm hiểu vấn đề tương tự như bạn,cảm ơn các pro đã chỉ júp
 
Nguyên tắc giống nhau thôi bạn ơi!
Chú ý:
-Màu nền là: Interior.ColorIndex
-Màu Font là: Font.ColorIndex
Mở code ra và sửa lại thôi

Anh cho em hỏi. Em muốn lấy màu nền của một ô được tô bằng Conditional Formatting thì phải dùng hàm nào? Em đã dùng Interior.ColorIndex nhưng 2 ô có màu nền khác nhau sao thấy cho ra 1 kết quả?
 
Em thấy hàm countbycolor rất hay nhưng khi dùng phát sinh ra một vấn đề nhỏ đó là: nếu em đặt điều kiện (conditional formating) để tự động tô màu thì hàm sẽ không đếm được, chỉ khi nào mình tô bằng tay thì hàm này mới đếm được. Không biết trường hợp này có xử lý được không ạ
 
Em thấy hàm countbycolor rất hay nhưng khi dùng phát sinh ra một vấn đề nhỏ đó là: nếu em đặt điều kiện (conditional formating) để tự động tô màu thì hàm sẽ không đếm được, chỉ khi nào mình tô bằng tay thì hàm này mới đếm được. Không biết trường hợp này có xử lý được không ạ
Với màu được tô bằng CF thì: bạn dùng công thức nào để tô màu thì cứ dùng công thức đó làm điều kiện đếm, không cần quan tâm đến màu sắc làm gì
 
Web KT
Back
Top Bottom