• 締切済み

マクロで塗りつぶしセルのカウント

マクロ初心者です。アドバイスをお願いします。以下のマクロですとB列の100行目までの塗りつぶしのセルのカウントは出来るのですが、シート上の全てをカウントしたいのです。1TO 100の100の部分をどう変更したら良いのか教えてください。 Sub セルの色数1() Dim I As Integer Dim Count As Integer Count = 0 For I = 1 To 100 If Cells(I, 2).Interior.ColorIndex <> xlNone Then Count = Count + 1 Next I Range("C1").Value = Count End Sub

みんなの回答

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.3

Dim c as Range For Each c In Cells 略 めっさ時間かかるよ(笑 Excel2000(65536行×256列)、CPU:1.6GHzで1分半くらいかかった。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

こんなの簡単ではないのかな。 私が捨て医師となって回答するから、それではダメという点を細くしてください。 ーー データの最終行を捉える Sub test01() d = Range("A65536").End(xlUp).Row MsgBox d For i = 1 To d 'メイン処理 Next i End Sub ーー 反論例はは データはあっても色で塗りつぶしいないセル範囲gあるとか。

noname#200395
noname#200395
回答No.1

私もかなりの初心者です。もう少し待てば、誰かがもっとすごいコードを書いてくれるかもしれません。 が、とりあえず参考までに。 Sub セルの色数1() Dim c As Range Dim Count As Long Range("C1").ClearContents Cnt = 0 For Each c In ActiveSheet.UsedRange If c.Interior.ColorIndex <> xlNone Then Count = Count + 1 Next Range("C1").Value = Count End Sub 上記のコードはB列だけじゃなくて全部数えるはずです。 初めて回答いたしました。 いつもお世話になってばかりだったのですが、質問をたまたま見つけて、これなら私にも回答できそうだなと。