皆さんこんにちは!今晩は!!ロト君です。さて、今回は。Excelの自作関数を作りましたので、そちらの紹介をしてみたいと思います。
自作関数とは?
自作関数とは?標準の関数である、SUMなどの関数を自分で作る事です。
今回紹介するモノは、セルの背色を取得しカウントするモノです。これを扱う場合は、Excelのマクロを有効化しておく必要があります。
実際に作った関数
実際に作った関数はこんな感じです。
Function CountColor(計算範囲, 条件色セル)
Dim x, y As Long
CountColor = 0
For y = 1 To 計算範囲.Columns.Count
For x = 1 To 計算範囲.Rows.Count
If 計算範囲.Rows(x).Columns(y).Interior.ColorIndex = 条件色セル.Interior.ColorIndex Then
CountColor = CountColor + 1
End If
Next
Next
End Function
計算範囲から指定した条件色(セルの色)を取得しカウントします。
使い方
使い方はこんな感じです。
=CountColor(A1:F10,A11)
上記の様に指定すれば、A11のセル色のカウントをA1:F10の範囲で所得します。
まとめ
なぜ?今回こんな自作関数を作ったかといいますと、セルで色分けしたマスのカウントを様々な条件で取得したかったので行いました。
実際の計算は、CountColor関数の他にもVBAを更に組み込んで自動的に、取得できる様なモノを作っています。
Range()中の列番を数字→文字に変換したりもしています。こんな感じの関数ですね!
Function ConvertToLetter(iCol As Long) As String
Dim a As Long
Dim b As Long
a = iCol
ConvertToLetter = ""
Do While iCol > 0
a = Int((iCol - 1) / 26)
b = (iCol - 1) Mod 26
ConvertToLetter = Chr(b + 65) & ConvertToLetter
iCol = a
Loop
End Function
上記の関数は説明の通り。列番号を列文字に変換しています。
今回のCountColor関数と併用すれば、任意の動的なセルの背色を取得できますね!!
では、今回はここまでで!(*”▽”)ノシ
コメントを残す