こんにちは~ドットコムパソコン塾の徳丸です![]()
今日のマクロは、セルの塗りつぶしの色がいくつあるかを数えるというものです。![]()
ご存知のとおり、関数では塗りつぶした色を数えることはできません![]()
そんな時に便利なマクロをご紹介します。![]()
下図をご覧ください。
色が三色で塗りつぶしされています。
それぞれの色の個数を求めます。
A1からA3に答えを表示させます。
コードは下記のとおりです。
Sub 色分けの件数()
Dim c1 As Long
Dim c2 As Long
Dim c3 As Long
Dim n1 As Long
Dim n2 As Long
Dim n3 As Long
Dim myRng As Range
Application.ScreenUpdating = False
For Each myRng In Selection.CurrentRegion
With myRng.Interior
If .ColorIndex <> xlNone Then
If .Color <> c1 And .Color <> c2 And .Color <> c3 Then
If c1 = 0 Then
c1 = .Color
ElseIf c2 = 0 Then
c2 = .Color
ElseIf c3 = 0 Then
c3 = .Color
End If
End If
If .Color = c1 Then
n1 = n1 + 1
ElseIf .Color = c2 Then
n2 = n2 + 1
ElseIf .Color = c3 Then
n3 = n3 + 1
End If
End If
End With
Next myRng
Range("A1") = n1
Range("A1").Interior.Color = c1
Range("A2") = n2
Range("A2").Interior.Color = c2
Range("A3") = n3
Range("A3").Interior.Color = c3
Application.ScreenUpdating = True
End Sub
データの中のどこかのセルを選択しておきます。
その後マクロを実行すると~
結果は下図のとおりです
いかがでしょうか?
できましたか?
このマクロもヤフーの知恵袋でBAをいただいたものです![]()
みなさん試してみてくださいね~![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
〒503-0204
岐阜県安八郡輪之内町四郷211-1
ドットコム・パソコン塾
TEL:0584-69-3839
開校日:月曜日~土曜日8:00~13:00
プライベートレッスン:月曜日~土曜日13:00~17:00
休校日:日曜日・祝日
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()


