エクセルは表計算ソフトです。
大量のデータの表を扱う場合、背景色が設定されていないと見にくいケースがあります。
一行ごとに色を設定する事で、見栄えがよくなります。マクロで処理をさせる事が可能です。
表を一行おきに色を設定する
For~Nextで開始行から最終行まで処理をします。
大事なのは「 Step 2 」と、1行飛ばしで処理を行うようにします。
コードサンプル
'■一行ごとに背景色を設定する Public Sub Call_sample_Rows_Color() Dim i As Long Dim LastRow As Long: LastRow = Call_LastRow(1) '1列目(A列)の最終行取得 Dim LastCol As Long: LastCol = Call_LastCol(1) '1行目 の最終列取得 '■3行目から最終行まで1行おき(Step 2)に処理をする For i = 3 To LastRow Step 2 Range(Cells(i, 1), Cells(i, LastCol)).Interior.ColorIndex = 19 Next i End Sub
サンプルではデータ開始行は3と数値を直接入力していますが、実務では定数で記載をおすすめします。
※Call_LastRow(1)やRange(Cells(i, 1) の数値の1も同様です。
コード結果
3行目からスタートし、3行目、5行目、7行目と背景色がColorIndexで設定がされます。
その他 注意点
- 上記コードだけでは実行できません。必ず、下記のパーツ化したモジュールを追加してください。
ExcelVBAマクロ「最終行」「最終列」の判断処理をパーツ化する - 行数が多いと、画面がちらつきます。
気になる(もしくは速度を求める)場合は、下記処理を追加してください。
ExcelVBAマクロ「マクロ処理を高速化する」をパーツ化する - 背景色に設定するColorIndexは、下記の記事参考にしてください。
ExcelVBAマクロ「ColorIndex(文字色/背景色/見出し色)」【VBA一覧】 - 2行おきにや3行おきにしたい場合は「 Step 3 」「 Step 4」としてください。
コメント