Bác nào có phương pháp đếm số ô được tô màu trong excel không??????

  • Thread starter van_ngo2004
  • Ngày gửi
V

van_ngo2004

Thành viên sơ cấp
10/1/05
1
0
0
37
Hanoi
#1
Em co 12 cột trong Excel, trong số đó: 4 cột để ở màu vàng, 4 cột để ở màu xanh, 4 cột để ở màu tím, 4 cột định dạng ở màu nâu.
Có bác nào biết cách dùng lệnh trong excel để đếm được số cột theo từng màu không, giúp em với!!!!!!!!!!!!!!!!!
 
W

WhoamI

Thành viên thân thiết
#2
Mình nhớ trước mình cũng từng hỏi một cấu tương tự thế nhưng vẫn chưa có câu trả lời thì phải.
đây rồi:
T2: Có điều kiện xuôi trong conditional formatting là nếu ô thỏa mãn giá trị = X thì sẽ đổ màu Xanh [blue] chẳng hạn vậy có điều kiện ngược lại không khi cứ ô được kiểm tra có format là màu Xanh [blue] thì ô kiểm tra sẽ nhận giá trị là X?
Đây nữa:
Trong một ô của Excel sẽ đựng giá trị của ô. Khi ta để hộp sáng tại ô đó, giá trị hoặc công thức tính ra giá trị, sẽ hiển thị trên thanh công thức Formular. Đó chính là giá trị thực của ô. Giá trị thực này tham gia tính toán khi công thức chỉ tới địa chỉ ô đó. Giá trị này còn gọi là phần thứ cấp của ô.
Hiển thị trong ô không những chỉ có giá trị thực đó, nó còn một dạng giá trị khác. Đó là giá trị giả, giá trị làm vỏ bọc, không tham gia tính toán mà chỉ giúp cho việc hiển thị giá trị thực thứ cấp rõ ràng hơn. Đó là phần sơ cấp của ô.
PCLEHOAN.COM
Theo hình dung của mình thì các định dạng trên mỗi cell thuộc cơ sở dữ liệu sơ cấp của ô. Vì thế khi muốn làm việc với các định dạng của ô thì phải tác động lên cơ sở dữ liệu sơ cấp của ô cái này chắc VBA làm được (đoán mò). Cứ chờ chút sẽ có các pác cao thủ thực sự giải đáp cho chúng ta.
 
adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#3
Bạn thử macro sau

Sub CellColor()
Dim uRange As Range, cCell As Range
Dim Num As Long
On Error Resume Next
Set uRange = ActiveSheet.UsedRange
If uRange Is Nothing Then
MsgBox ("Khong co du lieu trong sheet " & ActiveSheet.Name)
Exit Sub
End If
Num = 0
For Each cCell In uRange
If cCell.Interior.ColorIndex <> xlNone Then Num = Num + 1
Next cCell
If Num = 0 Then
MsgBox ("Khong co o nao to mau trong sheet " & ActiveSheet.Name)
Else
MsgBox ("Co " & Num & " o duoc to mau trong sheet " & ActiveSheet.Name)
End If
End Sub
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
41
Hà Nội
www.bluesofts.net
#4
Cách làm đơn giản thôi, nhưng phải là VBA.
Viết một các function như là:
========================
Function vbaRed() as Long
vbaRed=vbRed
End Function

Function vbaBlue() as Long
vbaBlue=vbBlue
End Function
.......
Có thể viết 16 hàm màu tương ứng với 16 màu cơ bản

Function Getcolor(Byval ColorCell as Range) As Long
Getcolor=ColorCell.Color........
End Function
========================
Bây giờ trên các Sheet ta có thể dùng công thức như là:
=IF(Getcolor(A1)=vbaBlue(),"Mau xanh",Getcolor(A1)=vbaRed(),"Mầu đỏ",...,""))
Công thức mảng đếm số ô có màu xanh là:
{=Count(IF(Getcolor($A$1:$A$100)=vbaBlue(),1,""))}
 
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
#5
Bạn thử làm theo cách sau:

Xem trong quyển E.E. NotBook của Bác Sa_DQ (phần G5 ấy) Ngoài đếm nó còn có thể tính tổng gia trị chứa trong ô màu đặt trưng!
:banana: :atom: :dzo:
 
Sửa lần cuối:
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
#6
Bạn thử làm theo cách sau:

workman nói:
Ấy là bác SA DQ cho chúng ta cái hàm để đếm các ô cùng màu đấy mà.

Bạn chép đoạn mã trên vào trong Excel VBA của bạn rồi sử dụng như các hàm Excel khác.

Cách làm cụ thể: bạn bấm tổ hợp phím Alt+F11. Chọn Insert Module, rồi paste cái đoạn mã của bác SA DQ vào.

Quay trở lại Excel. Tôi giả sử các ô tô màu của bạn là A1:A20.

Tại ô C2, nếu bạn muốn đếm màu đỏ trong vùng A1:A20, bạn gõ vào DemMau(3,A1:A20).

... nhỉ?
http://webketoan.com/forum/showthread.php?t=9982
Đoạn mã này theo tôi thấy có thể đếm lần lượt 56 màu ấy chứ lại! Ông B.G cho đếm như vậy thôi, chứ cho nữa đếm nữa phải không cac Bác?!
:banana: :atom: :dzo:
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
41
Hà Nội
www.bluesofts.net
#7
Đó là phương pháp dựa vào "Conditional Formatting", cái này chỉ làm được 3 điều kiện thôi. Nhiều khi ta không dùng "Conditional Formatting" thì thế nào? VBA và viết hàm thôi.
 
T

Tran Chau

Thành viên sơ cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#8
Tuanktcdcn nói:
VBA và viết hàm thôi.
Thực tập để viết VBA thì ok, còn dân pro thì search+*** đi, có hàng tá Excel soft về vụ color nầy,I nhớ còn có 1 web site chuyên bàn về VBA color Excel ,để thời gian suy nghĩ về cái người ta chưa làm :0frown:
 
Y

Yeudoi

Thành viên thân thiết
29/9/05
88
0
6
Hoi An Quang Nam
#9
Tôi nhớ trong thư viện đã có rồi viết bằng VBA. nếu ai không tìm hấy tôi sẽ gửi cho
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
41
Hà Nội
www.bluesofts.net
#10
Sau một thời gian nghiên cứu tôi đã viết ra bộ hàm thống kê, đếm, tính tổng theo màu sắc với nhiều điều kiện. Hàm SumIffColor, CountIfColor, SumproductIfColor, SubtotalIfColor,...
Bộ hàm trong Add-in A-Tools
Các bạn xem video hướng dẫn tại đây:
 
longbyoongho1

longbyoongho1

Thành viên sơ cấp
11/9/18
1
0
1
30
#11
Sau một thời gian nghiên cứu tôi đã viết ra bộ hàm thống kê, đếm, tính tổng theo màu sắc với nhiều điều kiện. Hàm SumIffColor, CountIfColor, SumproductIfColor, SubtotalIfColor,...
Bộ hàm trong Add-in A-Tools
Các bạn xem video hướng dẫn tại đây:
Video của bác hay quá, bác có thể cho e xin link về dùng đc k ạ? Cám ơn bác trước
 

Thành viên trực tuyến

  • xediengiatot
  • Hà Huy Tiến
  • daongocnam0603

Xem nhiều