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