Đếm ký tự trong ô có font color bằng VBA

Liên hệ QC

leetenchin1

Thành viên mới
Tham gia
24/6/16
Bài viết
36
Được thích
0
Em có tìm hiểu cách đếm ô có ký tự bằng màu khác. Nhưng đôi khi có lẻ vậy nhờ các bác giúp em chỉnh code với ạ.
Trong đây nhưng ai ăn cơm cả ngày là dấu + và nửa ngày là dấu -. Riêng đội khoán trả tiền riêng nên em cần đếm số bữa ăn để làm khoán của họ. Nếu 1 ngày thì dấu + mà nửa ngày là dấu - màu đỏ. Vậy chỉnh code sao cho khi đếm dấu + là 1 và - là 0.5. Các bác giúp em vơi
 

File đính kèm

  • Chấm cơm & thực phẩm T4-2019.xlsx
    34.5 KB · Đọc: 16
Em có tìm hiểu cách đếm ô có ký tự bằng màu khác. Nhưng đôi khi có lẻ vậy nhờ các bác giúp em chỉnh code với ạ.
Trong đây nhưng ai ăn cơm cả ngày là dấu + và nửa ngày là dấu -. Riêng đội khoán trả tiền riêng nên em cần đếm số bữa ăn để làm khoán của họ. Nếu 1 ngày thì dấu + mà nửa ngày là dấu - màu đỏ. Vậy chỉnh code sao cho khi đếm dấu + là 1 và - là 0.5. Các bác giúp em vơi
Sao không ký hiệu khác mà cứ phải là màu nhỉ bạn.
 
tại nó đồng đều thôi ạ
Thử:
Mã:
Function SumFontColor(rRange As Range, cellColor As Range)
Dim c As Range
Dim tong As Double
Dim mau_sac As Integer
mau_sac = cellColor.Font.Color
For Each c In rRange
If c.Font.Color = mau_sac Then
    If c.Value = "+" Then
        tong = tong + 1
    ElseIf c.Value = "-" Then
        tong = tong + 0.5
    End If
End If
Next c
SumFontColor = tong
End Function
 
Thử:
Mã:
Function SumFontColor(rRange As Range, cellColor As Range)
Dim c As Range
Dim tong As Double
Dim mau_sac As Integer
mau_sac = cellColor.Font.Color
For Each c In rRange
If c.Font.Color = mau_sac Then
    If c.Value = "+" Then
        tong = tong + 1
    ElseIf c.Value = "-" Then
        tong = tong + 0.5
    End If
End If
Next c
SumFontColor = tong
End Function
em cảm ơn bác. được rồi ạ. cho em hỏi thêm là khi mình thay đổi 1 dấu + hoặc - từ màu đen sang màu đỏ hoặc ngược lại thì tổng nó không nhảy mà phải kéo lại hàm mới nhảy ạ. bác chỉnh giúp e với ạ
 
Lần chỉnh sửa cuối:
em cảm ơn bác. được rồi ạ. cho em hỏi thêm là khi mình thay đổi 1 dấu + hoặc - từ màu đen sang màu đỏ
hoặc ngược lại thì tổng nó không nhảy mà phải kéo lại hàm mới nhảy ạ. bác chỉnh giúp e với ạ
1. Thêm dòng này vào dòng đầu tiên của mã:

Application.Volatile

2. Sau khi thay đổi màu, nhớ nhấn F9
 
Web KT
Back
Top Bottom