- 締切済み
マクロで塗りつぶしセルのカウント
マクロ初心者です。アドバイスをお願いします。以下のマクロですと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
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Trick--o--
- ベストアンサー率20% (413/2034)
Dim c as Range For Each c In Cells 略 めっさ時間かかるよ(笑 Excel2000(65536行×256列)、CPU:1.6GHzで1分半くらいかかった。
- imogasi
- ベストアンサー率27% (4737/17070)
こんなの簡単ではないのかな。 私が捨て医師となって回答するから、それではダメという点を細くしてください。 ーー データの最終行を捉える Sub test01() d = Range("A65536").End(xlUp).Row MsgBox d For i = 1 To d 'メイン処理 Next i End Sub ーー 反論例はは データはあっても色で塗りつぶしいないセル範囲gあるとか。
私もかなりの初心者です。もう少し待てば、誰かがもっとすごいコードを書いてくれるかもしれません。 が、とりあえず参考までに。 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列だけじゃなくて全部数えるはずです。 初めて回答いたしました。 いつもお世話になってばかりだったのですが、質問をたまたま見つけて、これなら私にも回答できそうだなと。