セルの書式設定「フォント」の操作を最速理解する

vbacellsfonteyecatch

エクセルVBAでセルの書式設定のフォント操作を行います。
全てFontプロパティの関連ですが、フォント名・スタイル・サイズ・下線・色・文字飾りの設定についてです。

こんにちは じゅんぱ店長 (@junpa33) です。

エクセルVBAの操作の中での基本中の基本 セルの書式設定。その中で今回は「セルのフォント」についてです。

セルの文字表示の設定では欠かせない設定項目です。非常に重要ですので、しっかり設定できる様にしておきましょう。

セルの書式設定「フォント」の操作とはこの部分

書類作成でフォントの選択が、書類の品位に大きくかかわっているのは事実です。

書類内容的に非常に有益なものであっても、フォント種の選択から来る見栄えの違いで、受け手側の扱いが大きく変わるものです。

大げさではなく、それだけ重要な設定項目だということです。

「フォント」の要件を決めるそれぞれの設定をVBAで知る

セルの書式設定フォントタブの設定項目は、

になっています。

このフォントタブで設定される項目すべてに関わっている、VBAコードは「Fontプロパティ」です。

Fontプロパティ

 構文 

Rangeオブジェクト.Font

Fontプロパティは戻り値として「Fontオブジェクト」を返します。

ですので、更にその「Fontオブジェクト」に対して各種の設定を行える「関連プロパティ」をつなぐことが出来ます。

フォント名

「フォント名」の設定は書類作成でも、書類の顔と言える部分でもあり、必須の習得事項です。

Fontプロパティが返すFontオブジェクトに対して、「Nameプロパティ」をつなげます。

 構文 

Rangeオブジェクト.Font.Name = “フォント名”

フォント名は全角の名称になっていますので、名称中に半角が混じっていると設定できません。

フォント名(サンプル)

フォント名 入力用フォント名
MS Pゴシック MS Pゴシック
MS P明朝 MS P明朝
MS UI Gothic MS UI Gothic
メイリオ メイリオ
游ゴシック 游ゴシック

<Example>

ActiveSheet.Cells.Font.Name = “MS P明朝”

現在表示しているシート全体のフォントを「MS P明朝」に設定します。

スタイル

「スタイル」の設定は、標準・斜体・太字・太字 斜体 を指定することが出来ます。

設定するプロパティは「FontStyleプロパティ」です。

 構文 

Rangeオブジェクト.Font.FontStyle = “定数”

FontStyleの定数 説明
“標準” デフォルト
Bold 又は ”太字” 太字
Italic 又は ”斜体” 斜体
Bold Italic 又は ”太字 斜体” 太字 斜体
False 設定の解除

<Example>

(太字 斜体を設定)

Range(“B3”).Font.FontStyle = “太字 斜体”

(太字 斜体を設定解除)

Range(“B3”).Font.FontStyle = False

このスタイルの設定には、同様のことが可能な別のプロパティも存在します。

「Boldプロパティ」と「Italicプロパティ」です。

(太字設定) Range(“B3”).Font.Bold = True

(斜体設定) Range(“B3”).Font.Italic = True

サイズ

「サイズ」の設定は、文字の大きさを設定します。通常は11~12pt.の設定になっています。

設定するプロパティは「Sizeプロパティ」です。

文字を強調したいということで大きく設定すると、セルに入りきらないことがあります。その場合は、

AutoFitプロパティで、入力文字がすべて表示されるようにしましょう。

 構文 

Rangeオブジェクト.Font.Size = 数値(文字サイズ)

<Example>

Range(“B1”).Font.Size = 13

セルB1の文字サイズを13ポイントに設定します。

セル幅自動調節のコード例

With Range(“B5”)

  .Font.Size = 25

  .EntireColumn.AutoFit

End With

セルB5の文字サイズを25pt.設定しセル幅を調節

下線

「下線」の設定は、なし・下線・二重下線・下線(会計)・二重下線(会計) を指定することが出来ます。

設定するプロパティは「Underlineプロパティ」です。

 構文 

Rangeオブジェクト.Font.Underline = “定数”

Underlineの定数 説明
xlUnderlineStyleNone なし
xlUnderlineStyleSingle 下線
xlUnderlineStyleDouble 二重下線
xlUnderlineStyleSingleAccounting 下線(会計)
xlUnderlineStyleDoubleAccounting 二重下線(会計)

<Example>

Range(“B3”).Font.Underline = xlUnderlineStyleDouble

「色」の設定はフォントカラーの設定になりますが、

色を指定するプロパティは「Colorプロパティ」か「ColorIndexプロパティ」を利用します。

Colorプロパティ

Colorプロパティは、色の指定方法として色の「定数」または「RGB値」での指定となります。

 構文 

Rangeオブジェクト.Font.Color = 色定数

または 

Rangeオブジェクト.Font.Color = RGB(R値, B値, G値)

指定色 定数 RGB(R値, B値, G値)
vbBlack 0,0,0
vbRed 256,0,0
vbGreen 0,256,0
vbYellow 256,256,0
vbBlue/td> 0,0,256
マゼンタ vbMagenta 256,0,256
シアン vbCyan 0,256,256
vbWhite 256,256,256

<Example>

Range(“B3”).Font.Color = RGB(125,125,0)

ColorIndexプロパティ

ColorIndexプロパティは色パレットの色番号を使って色指定を行います。

 構文 

Rangeオブジェクト.Font.ColorIndex = 色番号

vbafontsys001
1 53 52 51 49 11 55 56
9 46 12 10 14 5 47 16
3 45 43 50 42 41 13 48
7 44 6 4 8 33 54 15
38 40 36 35 34 37 39 2
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32

<Example>

Range(“B3”).Font.ColorIndex = 3

セルB3の文字色を赤に設定

文字飾り

「文字飾り」の設定は、取り消し線・上付き・下付き を指定することが出来ます。

設定するプロパティは「Strikethroughプロパティ」「Superscriptプロパティ」「Subscriptプロパティ」です。

取り消し線

取り消し線の設定には「Strikethroughプロパティ」を使用します。

Strikethroughプロパティ

 構文 

Rangeオブジェクト.Font.Strikethrough = True または False

取り消し線を引くときは「True」、解除するときは「False」を指定します。

上付き

上付き文字の設定は「Superscriptプロパティ」を使用します。

Superscriptプロパティ

 構文 

Rangeオブジェクト.Font.Superscript = True または False

上付き文字を設定するときは「True」、解除するときは「False」を指定します。

下付き

下付き文字の設定は「Subscriptプロパティ」を使用します。

Subscriptプロパティ

 構文 

Rangeオブジェクト.Font.Subscript = True または False

下付き文字を設定するときは「True」、解除するときは「False」を指定します。

セルの「フォント」タブ VBAの最速理解のまとめ

セル書式設定「フォント」タブの設定についてのVBAコード化を説明しました。

内容的には、コードの組み立てを理解するというよりは、プロパティの使い方を覚えるという内容のものです。

ここでは、使用頻度の高い設定箇所のVBAコードをササッと使えるようになれば良いのではと思います。

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です
vbacellsprotecteyecatchセルの書式設定「セルの保護」の設定を最速理解vbacellspaint_gradteyecatchセルの書式設定「グラデーションの塗りつぶし」を設定するcellspaintpatterneyecatchセルの書式設定「塗りつぶしの網掛け」を最速理解vbacellspaintbackeyecatchセルの書式設定「塗りつぶし」背景色をVBAで記述するvbacellsbordereyecatchセルの書式設定「罫線」のVBAを最速理解vbacellsfonteyecatchセルの書式設定「フォント」の操作を最速理解するvbacellsplacementeyecatchセルの書式設定「配置」を最速理解するvbacellssyoshikieyecatchセルの書式設定「表示形式」をVBAコード的に最速理解するVBAcellareaeyecatchセルの範囲選択と設定は14のツールで対応するvbaendpropertyeyecatchセルの範囲選択 Endプロパティで上下左右の最終セルを取得vbaentirecolumneyecatchセルの範囲選択 EntireColumnとColumnの使い方vbaentireroweyecatchセルの範囲選択 EntireRowとRowプロパティの違いvbacolumnseyecatchセルの範囲選択 Columnsプロパティの列指定で参照するvbaunioneyecatchセルの範囲選択 UnionとRangeの一括選択の働きを比較vbaresizeeyecatchセルの範囲選択 Resizeプロパティでセル範囲をサイズ変更vbarangevscellseyecatchセルの範囲選択 Range VS Cells 、VBAで使えるのはどっちvbausedrangeeyecatchセルの範囲選択 UsedRangeプロパティの使い方vbaborder1eyecatchセルの編集 実際に罫線を設定する 位置・線種・太さ・色vbarowseyecatchセルの範囲選択 Rowsプロパティの働きと関連のメソッドvbadeleteeyecatchセルの編集 DeleteとClearの使い分け 削除とクリアの違いvbacurrentregioneyecatchセルの範囲選択 CurrentRegionは連続データをまとめて掴むSpecialCellseyecatchセルの範囲選択 SpecialCellsメソッドはセル検索し選択するvbacharactereyecatchaセルの編集 Charactersで文字列中の一部の文字を加工するvbafontsyseyecatchaセルの編集 Fontプロパティで文字装飾操作をするvbalastcelleyecatchセルの範囲選択 データ入力済セルの最終行番号を取得するvbaoffseteyecatchセルの範囲選択 Offsetプロパティは指定範囲を移動させる
<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。