指定した色のセルを対象に数えたり、合計を求めたりする【ExcelVBA】
ColorIndexで1~56色をサクッと出力し指定した範囲に適当にランダムで色を設定
その色を対象に数を数え、その色のセルを対象に値を合計してみた
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
実際に使用したサンプルコード
Option Explicit
Public Sub 数えるプロシージャ()
'セルをRange型で宣言
Dim 変数セル As Range
'カウント変数を整数型で宣言
Dim cnt As Integer
cnt = 0
'指定した範囲のセルを変数セルに順番にセット
For Each 変数セル In Range("B2", "V24")
If 変数セル.Interior.ColorIndex = Range("S27").Interior.ColorIndex Then
cnt = cnt + 変数セル.Value
End If
Next
'指定した色のセルだった数が取得
ActiveSheet.Shapes("図形").TextFrame.Characters.Text = "合計は" & cnt & "でしたね♪"
End Sub
Public Sub ランダムに色をつける()
'乱数の初期化
Randomize
'対象のセル
Dim 対象セル As Range
'指定した範囲のセルを順番にセット
For Each 対象セル In Range("B2", "V24")
'対象セルにランダムに色をつける
対象セル.Interior.ColorIndex = Application.WorksheetFunction.RandBetween(1, 56)
Next
End Sub
Public Sub 数をランダムに入れる()
Dim セル As Range
For Each セル In Range("B2", "V24")
セル.Value = Application.WorksheetFunction.RandBetween(1, 9)
Next
End Sub