マクロで表のスタイルを設定
マクロ講座63回
簡単に表スタイルを設定 Excel2013 マクロ講座 63回
範囲を探して表をデザインする
Excelの表デザインをクールにしたい!
Excelで作ったデフォルトの表は、なんとも垢抜けないので、そのまま使う訳にはいかないと感じている人も多いのではないでしょうか。
今回は、管理人が良く使う表の設定マクロを紹介します。
(サンプルファイルは、こちらから マクロ63回サンプルデータ)
クールな表デザインをと考えると時間がかかる
最初は、ただの枠にデータを入力してるだけでもいいですが、それを印刷したり、プレゼンテーションに使ったりするとなると、
見やすいデザインが要求されますね。そこでまずマクロで無難なデザインを設定してしまおうというわけです。
そこで、1.タイトルはブルー系にして、上罫線と下罫線は、中太にする
2.表の罫線は、一応入れるけど、主張し過ぎない程度のグレーにする
という2点に絞って表をデザインするマクロを作ることにしました。
そこで、1.タイトルはブルー系にして、上罫線と下罫線は、中太にする
2.表の罫線は、一応入れるけど、主張し過ぎない程度のグレーにする
という2点に絞って表をデザインするマクロを作ることにしました。
上図が、マクロ実行前とマクロ実行後です。
仮にこの色とデザインのままで、シマシマにしたければ、下図のようにExcel2010マクロ講座24回のRGB関数を使って 2色のシマ模様マクロなどを実行してください。
2色がしつこいと感じる時は、1色にしましょう。「過ぎたるは及ばざるが如し」ですから。
仮にこの色とデザインのままで、シマシマにしたければ、下図のようにExcel2010マクロ講座24回のRGB関数を使って 2色のシマ模様マクロなどを実行してください。
2色がしつこいと感じる時は、1色にしましょう。「過ぎたるは及ばざるが如し」ですから。
表の範囲を探して表デザイン
作成したマクロコードです。今回のポイントは、条件に当てはまるセルを検索するという点でしょう。
それには、Findメソッドを使います。Findメソッドで探したセルを Set ステートメントを使ってオブジェクト変数に代入します。
セルに入力されている内容を探すのではなく入力済みのセルという意味でワイルドカードを使っています。(3行目)
それには、Findメソッドを使います。Findメソッドで探したセルを Set ステートメントを使ってオブジェクト変数に代入します。
セルに入力されている内容を探すのではなく入力済みのセルという意味でワイルドカードを使っています。(3行目)
Sub 表デザイン1範囲を探して罫線() Dim vRng As Range Set vRng = Cells.Find(What:="*") If vRng Is Nothing Then Exit Sub With vRng.CurrentRegion .Borders.LineStyle = xlContinuous .Borders.ColorIndex = 16 'RGB(150,150,150) End With With vRng.CurrentRegion.Resize(1) .Borders(xlEdgeTop).Weight = xlMedium .Borders(xlEdgeBottom).Weight = xlMedium .Interior.ColorIndex = 37 End With End Subサンプルのマクロでは、表の範囲を探してその範囲に対して罫線を引きます。 ただし、入力済みのセルがない、空のシートで実行するとエラーになりますので、エラー回避でプログラムを抜けるコードを入れてあります。 (4行目)
Findメソッドは、指定された範囲から情報を検索し、目的の情報が見つかった最初のセルを表す Range オブジェクトを返します。
今回使う引数は、省略ができない"What"だけです。
実は、引数はたくさんありますが、それらは検索と置換ダイアログボックスでセルを検索するときに指定する内容とほぼ同じです。 Findメソッドは便利なので、またの機会に詳しく紹介しましょう。
実は、引数はたくさんありますが、それらは検索と置換ダイアログボックスでセルを検索するときに指定する内容とほぼ同じです。 Findメソッドは便利なので、またの機会に詳しく紹介しましょう。
以下の罫線だけの表に対してマクロを実行します。
シンプルな表デザインが適用されます。
このコードはそのまま使っても良いですが、7行目と12行目のColorIndexをお好みの色に変更すると尚良いと思います。