マクロ初心者です。アドバイスをお願いします。以下のマクロですと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
[6563] kazu (2009/10/25 Sun 14:53)
ここDTPの掲示板ですが。
[6565] [] (2009/10/25 Sun 17:11)
そうですね...w
DTP駆け込み寺にマクロかぁ〜と思ちゃったけど...汗
一応ね。
ヒントだけ
Cells(I, 2)
はR1C1形式の表示です。
このIは縦方向に
For I = 1 To 100
で指定している100セル下に向かいますよね。
Cells(I, 2)
の
2がBを意味していますから
この2に変数を指定して
縦方向と同じように
For 変数 = 1 To 100
とすると
横方向へもCountしてくれます。
例えば2を5にするとF列を検索しますよね。
Countを縦と横にわけて
Count縦 Count横 で変数を指定して
Count縦が65,536までいったら
Count横に1足してCount横が256まで
って
この方法で『シート上の全て』
を検索するのは時間がかかりすぎませんか?
何か他にいい方法があるような気がしますけど....汗
[6567] ニヤリ@◆5XzlDV0Ut1 (2009/10/25 Sun 19:58)
一応フォロー。
> Count縦が65,536までいったら
> Count横に1足してCount横が256まで
excel2007では上限が
縦が1048576
横が16384
になってます。
[6572] ほげ (2009/10/27 Tue 10:55)