Excel マクロ 繰り返し処理をするFor〜Nextステートメント
マクロ講座23回
繰り返し処理をするFor〜Nextステートメント
前回の、「一行おきに空白セルを挿入するマクロ」ですが、コードの意味が
たとえよく分からなくても、便利だなあと思えば使っちゃえばいいのです。
でも、そこはマクロ講座ですから、多少なりとも理解を助ける説明をしなくれてはいけませんね。
今回は、For〜Nextを頭に叩き込むというわけです。
(サンプルファイルは、こちらから マクロ講座23回サンプルデータ)
準備:セルを赤く塗るマクロ記録
そのまえに、予備知識としてセルを赤く塗るマクロの記録をしてみましょう。
さあ、今日もおきまりの実習ですよ。(「あ〜、やだ」って言わないの!)
(1)マクロの記録を開始、

(2)A1セルを選択し、ツールバーの色パレットボタンでセルを赤く塗ります。
A2セルを選択し、セルを赤く塗ります。
A3セルを選択し、セルを赤く塗ります。
A4セルを選択し、セルを赤く塗ります。
・・・
A10セルを選択し、セルを赤く塗ります。

A2セルを選択し、セルを赤く塗ります。
A3セルを選択し、セルを赤く塗ります。
A4セルを選択し、セルを赤く塗ります。
・・・
A10セルを選択し、セルを赤く塗ります。

(3)A1:A10までのセルが赤く塗られました。
マクロの記録を終了します。

マクロの記録を終了します。

記録終了ボタンを押します。
自動記録で作成したマクロを見てみましょう。
Sub Macro1()
Range("A1").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Range("A2").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
(同様のコードがA10まで繰り返されている)
End Sub
スポンサーリンク
スポンサーリンク
コードの解説です。
A1セルの範囲を選択して、
その選択された部分の内側の色をカラーパレットの3番の色にする
その選択された部分の内側の塗りつぶしパターンをSolidとする
(同様の内容が、A10まで繰り返し)
という意味になります。
Selectionは選択されているもの
Interiorは、内部を意味し、
ColorIndexは、カラーパレットの色です。
Patternは、塗りつぶしのパターンです。
3番がなぜ赤になる?というと、
カラーパレットの色は、左上が1番で左から右、
上から下の順番に番号がふられています。だから3番は赤なんです。
A1セルの範囲を選択して、
その選択された部分の内側の色をカラーパレットの3番の色にする
その選択された部分の内側の塗りつぶしパターンをSolidとする
(同様の内容が、A10まで繰り返し)
という意味になります。
Selectionは選択されているもの
Interiorは、内部を意味し、
ColorIndexは、カラーパレットの色です。
Patternは、塗りつぶしのパターンです。
3番がなぜ赤になる?というと、
カラーパレットの色は、左上が1番で左から右、
上から下の順番に番号がふられています。だから3番は赤なんです。
コードをスリムにしますね。
今回塗りつぶしは、不要ですから
今回塗りつぶしは、不要ですから
Sub Macro2()
Range("A1").Interior.ColorIndex = 3
Range("A2").Interior.ColorIndex = 3
Range("A3").Interior.ColorIndex = 3
Range("A4").Interior.ColorIndex = 3
Range("A5").Interior.ColorIndex = 3
Range("A6").Interior.ColorIndex = 3
Range("A7").Interior.ColorIndex = 3
Range("A8").Interior.ColorIndex = 3
Range("A9").Interior.ColorIndex = 3
Range("A10").Interior.ColorIndex = 3
End Sub
スポンサーリンク
スポンサーリンク