VBA再入門
第14回.セルの書式を設定する(NumberFormatLocal,Font,Barders,Interior)

マクロが覚えられないという初心者向けに理屈抜きのやさしい解説
最終更新日:2019-12-13

第14回.セルの書式を設定する(NumberFormatLocal,Font,Barders,Interior)


エクセルは表計算ソフトなので、計算が主体で、その計算結果こそが重要です。
とはいえ、その結果を表示する表の見栄えも重要な要素になります。


数値の表示形式、配置、フォント、罫線、塗りつぶし、等々、
セルの書式を整えて見やすい表にしたいところです。

「セルの書式設定」ダイアログ画面

マクロVBAでセルの書式を設定する時は、
必ず、シートでの「セルの書式設定」ダイアログ画面と対で覚えるようにしましょう。

エクセル マクロVBA 参考画像

・表示形式
・配置
・フォント
・塗りつぶし
・保護

ここで設定できる内容については、一通り見ておいてください。
どんな設定が出来るか知らなければ、何も始まりません、マクロVBA以前の問題です。

セルの書式設定のマクロVBAコードは、
「マクロの記録」で簡単に調べることが出来ますので、特に細部を覚える必要はありません。
とはいえ、良く使うものを含め、最低限の書き方は覚えておく必要はあります。

表示形式

A1セルを、カンマ区切り、0サプレス、ゼロはブランク
A2セルを、平成○○年○○月○○日
A3セルを、パーセント、少数以下2桁、ゼロは0.00%
A4セルを、文字列


マクロ VBA サンプル画像

セル(Range,Cells)のNumberFormatLocalプロパティに値(書式文字)を入れる事で、表示形式を設定します。

NumberFormatプロパティもあり、ほぼ同様ですが、\12,345のようなロケール依存の表示はNumberFormatLocalを使います。
無用なトラブル回避のためにも、NumberFormatLocalを使ってください。
書式文字は、シートでの「セルの書式設定」の「ユーザー定義」とほぼ同様(違う場合もありますが)なので、これを参考にしてください。

フォント

A1セルを、フォントサイズを14
A2セルを、文字色を赤色
A3セルを、太字


エクセル マクロ VBAコード

セル(Range,Cells)のFontオブジェクトの各種プロパティに値を入れる事で設定します。

色の基本8色は、定数として
vbBlack、vbRed、vbGreen、vbYellow、vbBlue、vbMagenta、vbCyan、vbWhite
以上が用意されています。

自由に色指定したい場合は、RGB関数を使ってください。
RGB値を作成する関数として、RGB関数が用意されています。
RGB(red, green, blue)
red, green, blue、それぞれを0~255で指定します。
RGB(255, 0, 0) '赤
RGB(255, 255, 255) '白
RGB(0, 0, 0) '黒

罫線

A1:B5を、外枠太線、内側を普通の格子線

エクセル マクロ VBAコード

セル(Range,Cells)のBordersオブジェクトのプロパティに値を入れる事で設定します。
LineStyle ・・・ 線の種類
Weight ・・・ 線の太さ


Bordersに()で上下左右の線を引く位置を指定出来ます。
()を省略すると、上下左右に線を引きます。

外枠の罫線については、以下の書き方もあります。
エクセル マクロ VBAコード

指定範囲の外枠に対して線を引くときは、
BarderAround
これも使えますが、これはメソッドになり使い方が少々難しくなります。

塗りつぶし

A1セルを、青で塗りつぶし
A2セルを、赤(R):200、緑(G):80、青(B):120


エクセル マクロ VBAコード

セル(Range,Cells)のInteriorオブジェクトのプロパティに値を入れる事で設定します。

色の基本8色は、定数として
vbBlack、vbRed、vbGreen、vbYellow、vbBlue、vbMagenta、vbCyan、vbWhite
これらが用意されています。
RGBは関数になります。
RGB(赤, 緑, 青)
赤緑青にそれぞれ0~255の数値を指定して色を表現します。

「セルの書式を設定する」のまとめ

・表示形式
・フォント
・罫線
・塗りつぶし
以上についてざっくりと説明しましたが、上記以外の詳細な書式設定方法は、
随時、「マクロの記録」を使い、必要なプロパティとその値を調べて使うようにしてください。

ExcelマクロVBA入門の対応ページ

第31回.セルの書式(表示形式,NumberFormatLocal)
セルは表示形式を指定することで、セルに入っている値は同じ値でも色々な見え方をさせる事が出来ます。セルの値はそのままで、見た目だけをユーザーに見やすい形にすることが出来ます。同じ数値の、12345でも 12345、12,345、\12,345 等々の違う表示方法を指定する事が出来ます。

第32回.セルの書式(配置,Alignment)
セル内での値を表示する位置(縦位置、横位置)をマクロVBAで指定できます。「セルの書式設定」→「配置」で指定する内容です。マクロVBAでの配置の指定 Range.プロパティ=設定値 指定できるプロパティの設定値は以下になります。

第33回.セルの書式(フォント,Font)
セルで表示している文字の書体のマクロVBAでの指定方法です。セル(Rangeオブジェクト)のフォントは、Fontプロパティになります。Fontプロパティは、Fontオブシェクトを返します。解りづらい説明だと思います。

第34回.セルの書式(塗りつぶし,Interior)
セルを目立たせる最も有効な手段は、セルを色で塗りつぶすことでしょう、セルを塗りつぶす時のマクロVBAでの解説です。セル(Rangeオブジェクト)の塗りつぶし(パターン)は、Interiorプロパティになります。Interiorプロパティは、Interiorオブシェクトを返します。

第35回.セルの書式(罫線,Border)
VBAで罫線を引く必要が出てくる場合も度々あります、シートのデータ範囲がマクロで変更されてしまう場合は、罫線を引き直す事が必要になってきます。ネット等を検索すると、罫線を引くマクロは書き方が千差万別となっているようです。そして、マクロの記録を使用して作成したVBAコードをそのまま使っている最悪のケースとなっています。



同じテーマ「マクロVBA再入門」の記事

第11回.分からない事はエクセルに聞く(マクロの記録)
第12回.エクセルの言葉を理解する(オブジェクト、プロパティ、メソッド)
第13回.セルのコピペ方法を知る(CopyとPaste、さらに)
第14回.セルの書式を設定する(NumberFormatLocal,Font,Barders,Interior)
第15回.手作業で出来なければマクロは書けない
第16回.エクセルの機能を上手に使う
第17回.セルにブック・シートを指定する(Workbooks,Worksheets,With,Set)
第18回.シートをコピー・挿入・削除する(Worksheets,Copy,Add,Delete)
第19回.ブックを開く・閉じる・保存する(Workbooks,Open,Close,Save,SaveAs)
第20回.全てのシートに同じ事をする(For~Worksheets.Count)
第21回.ファイル一覧を取得する(Do~LoopとDir関数)


新着記事NEW ・・・新着記事一覧を見る

Excel将棋:駒を動かす|VBAサンプル集(8月9日)
Excel将棋:将棋進行クラスの作成|VBAサンプル集(8月8日)
Excel将棋:将棋盤クラスの作成&単体テスト|VBAサンプル集(8月8日)
Excel将棋:位置クラスをデフォルトインスタンスに変更|VBAサンプル集(8月7日)
VBAで数値を漢数字に変換する方法|エクセル雑感(8月6日)
Excel将棋:駒台クラスの作成&単体テスト|VBAサンプル集(8月6日)
Excel将棋:駒クラスの単体テスト|VBAサンプル集(8月5日)
Excel将棋:駒クラスの作成|VBAサンプル集(8月5日)
Excel将棋:クラスの設計|VBAサンプル集(8月4日)
Excel将棋:マクロVBAの学習用|VBAサンプル集(8月3日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ