'指定列、指定色のセルに入力されている値の合計値を返す関数を定義します
Public Sub getTotalbyBackColor(ByVal rowname As String, ByVal ColorCode As String)
Dim lastvalue As Long
Dim lastcolno As Integer
'1000行目までを調べます。
For i = 1 To 1000
If Range(rowname & Trim(Str(i))).Interior.Color = Val("&H" & ColorCode) Then
totalvalue = totalvalue + Range(rowname & Trim(Str(i))).Value
lastvalue = Range(rowname & Trim(Str(i))).Value
lastcolno = i
End If
Next
Range(rowname & Trim(Str(lastcolno))).Value = totalvalue - lastvalue
End Sub
作成した関数を以下のように使用します
'B列において、カラーコードが AAAAAA のセルの合計を求める
getTotalbyBackColor "B", "AAAAAA"
|