4116

Excel如何判斷每個儲存格的顏色是否填滿後再進行運算-VBA

要判斷A1到A11的儲存格是否有填滿顏色,假若有填滿顏色就不列入計算,只計算沒有填滿顏色的儲存格數值總和,要怎麼寫在A13儲存格來完成這樣的計算總和呢?

image

 

VBA

按ALT+F11鍵開啟VBA視窗。

點取「插入 > 模組」指令,開啟一張空白模組表。

輸入下列自訂函數程序:

Function NO_Color_SUM(All_Data As Range)     設定自訂函數NO_COLOR_SUM

    Application.Volatile     使用者定義的函數標示為易變。每當工作表上任何儲存格發生計算時,都必須重新計算易變函數。

    Dim temp As Range     設定變數TEMP為範圍

    For Each temp In All_Data     針對TEMP參數中的每個數值重複。

        If temp.Interior.ColorIndex = -4142 Then    如果TEMP參數對應的儲存格填滿色彩為-4142(無填滿)

            NO_Color_SUM = NO_Color_SUM + temp.Value     則將NO_COLOR_SUM函數的值加上對應儲存格的值後傳回給NO_COLOR_SUM函數。

        End If

    Next     代入TEMP範圍的下一個位置(儲存格)

End Function     結束自訂函數

image

ALT+F4鍵關閉VBA視窗,回到活頁簿視窗。

點取C1儲存格,輸入公式「=No_Color_SUM(A1:A11)」後,可算出無填滿色彩的儲存格數值合計。

image

注意:儲存時要儲存成(*.XLSM格式)。

image


arrow
arrow
    文章標籤
    VBA
    全站熱搜
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()