Page 1 of 1

ต้องการนับ ตารางสีเขียว ที่ J1 และสีแดงที่ j2 (จาก A1:E9)

Posted: Sun Apr 11, 2021 1:21 pm
by aabbcc
ต้องการนับ ตารางสีเขียว ที่ J1 และสีแดงที่ j2 โดยใส่
Function CountCcolor(range_data As range, criteria As range) As Long
Dim datax As range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
*** ผลที่ได้คือ โปรแกรมจะนับก็ต่อเมื่อเราดับเบิลคลิกที่ J1 และ J2
** อยากให้นับอัตโนมัติเลย ทันที่ ที่เราเปลี่ยนสีแดง หรือเขียวทันที ใน ช่อง A1 :E9 ต้องทำอย่างไรครับ

Re: ต้องการนับ ตารางสีเขียว ที่ J1 และสีแดงที่ j2 (จาก A1:E9)

Posted: Sun Apr 11, 2021 3:37 pm
by Bo_ry
เติม Application.Volatile
การเปลี่ยนสีไม่ถือว่าเป็นการเปลี่ยนค่า จะไม่คำนวณใหม่ ต้องกด F9 เพื่อคำนวณ

Code: Select all

Function CountCcolor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
    Application.Volatile
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountCcolor = CountCcolor + 1
    End If
Next datax
End Function
https://youtu.be/j-m4bSDEAb8

Re: ต้องการนับ ตารางสีเขียว ที่ J1 และสีแดงที่ j2 (จาก A1:E9)

Posted: Sun Apr 11, 2021 4:24 pm
by aabbcc
ขอบคุณครับ