Hello,今天有粉絲遇到這樣的一個問題,就是老闆給他很多帶有顔色的表格,想讓他根據顔色求和以及計數,他一個一個做了很久也沒做出來,問我有沒有什麼簡單的方法,當然有了,我們覺得最快捷的方法就是使用vba自定義函數來計算,操作也非常的簡單,下面就讓我們來一起操作下吧
一、代碼展示
1.根據顔色求和代碼
Function SumColor(i As Range, ary1 As Range)
Dim icell As Range
Application.Volatile
For Each icell In ary1
If icell.Interior.ColorIndex = i.Interior.ColorIndex Then
SumColor = Application.Sum(icell) SumColor
End If
Next icell
End Function
2.根據顔色計數代碼
Function CountColor(x As Range, ary2 As Range)
Application.Volatile
For Each i In ary2
If i.Interior.ColorIndex = x.Interior.ColorIndex Then
CountColor = CountColor 1
End If
Next
End Function
在這裡我們定義了SumColor與CountColor兩個自定義函數,
SumColor:對指定顔色的單元格求和
第一參數:想要求和的單元格顔色
第二參數:求和的數據區域
CountColor:對指定顔色的單元格計數
第一參數:想要計數的單元格顔色
第二參數:想要計數的單元格區域
二、設置自定義函數我們先點擊開發工具,然後點擊visal basic,然後在vba的編輯界面中點擊插入,選擇模塊,将剛才定義的兩個函數粘貼進去,直接将界面關閉即可
三、使用函數
自定義函數與内置函數的使用方法是一摸一樣的,我隻需輸入函數對應的名稱,然後填寫相應的參數即可
怎麼樣,使用這種方法就統計帶顔色的單元格是不是非常的簡單呢?
我是Excel從零到一,關注我持續分享更多Excel技巧
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!