Fontプロパティで文字装飾操作をする

vbafontsyseyecatcha

エクセルで作成する書類の見栄えをよくするために必要な文字装飾操作。
エクセルVBAで、視的良質書面を作るには、Fontプロパティを使うのが必須項目です。

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

エクセルを使いだして、セルという「マス」に文字を打ち込んで、みなさんが共通して思うことがあります。

この「マス」に文字が入りきらないよ!
ワードだと、こんな面倒なことは起こらないのに!

そんな時、解決策として、セルの幅を広げたり、文字の大きさを変えたりされるでしょう。
セルの書式設定を使えば色々と入力文字のスタイルを変化させることができます。

エクセルVBAでは、この文字のスタイル変更をさせるのが、

Fontプロパティ、Fontオブジェクトと言うことになります。

セル入力の文字設定 Fontプロパティって?

「フォントオブジェクト」だけでなく「フォントプロパティ」という言葉もあります。

「Fontオブジェクト」という言葉と、「Fontプロパティ」という言い方は、どっちが正しいのですか?

悩める君

じゅんぱ店長

オブジェクトとは

Google翻訳では、Objectとは「物体」「対象」「物」と表示されます。

つまり、「それ、そのもの」 Fontオブジェクトは、Fontの「それ、そのもの」を指しています。

プロパティとは

Google翻訳では、propertyとは「財産」「性」「性質」と表示されます。

つまり、「こいつは、こういうやつ」 Fontプロパティは、Fontの持っている「性格はこんなやつ」と言うことです。

Fontプロパティを解説します

先ほどの言葉で言うと、Fontの持っている性格はこんなやつです。

  • 名前を変更できるやつ
  • フォントスタイルを変更できるやつ
  • 大きさを変えれるやつ
  • 取り消し線を使えるやつ
  • etc などなど

色々とたくさんのプロパティが準備されています。

利用頻度的には特定のプロパティに偏ってくると思いますが、必要度に応じて覚えていきましょう。

使い方は、

オブジェクト名.プロパティ名 = 定数(設定値)  と記述します。

Fontプロパティの主なもの

エクセルのバージョンアップに伴なっての、新Fontプロパティ追加ということが時々あります。

プロパティ名内容解説
Nameフォント名を表す文字列 
FontStyleフォント スタイル指定標準・斜体・太字・太字斜体のいずれか
Bold太字ON・OFFのスイッチングはTrue、False
Italic斜体ON・OFFのスイッチングはTrue、False
Sizeフォントのサイズ指定フォントサイズを数値で表す。
Underline下線の指定数値(定数)で指定
Colorフォントの色RGB値を表す数値、色定数またはRGB関数
ThemeColor配色のテーマ カラーフォント色を10種類のテーマ色で表示
ColorIndexフォントの色フォント色をインデックス番号で表示
Strikethrough水平な取り消し線ON・OFFのスイッチングはTrue、False
Superscript上付き文字ON・OFFのスイッチングはTrue、False
Subscript下付き文字ON・OFFのスイッチングはTrue、False

FontStyleプロパティ

FontStyleを使って文字に変更を加える場合です。

BoldとItalicは、FontStyleを利用しなくても同じ効果を得ることが出来ます。(例題参照)

プロパティ定数解説
FontStyle.“標準”標準(デフォルト)スイッチングはFalse
Bold 又は ”太字”太字 ON・OFFのスイッチングはTrue、False
Italic 又は ”斜体”斜体 ON・OFFのスイッチングはTrue、False
Bold Italic 又は ”太字 斜体”太字斜体 ON・OFFのスイッチングはTrue、False

Underlineプロパティ

Underlineを使って文字に変更を加える場合です。

プロパティ定数解説
Underline.xlUnderlineStyleNoneなし
xlUnderlineStyleSingle下線
xlUnderlineStyleDouble二重下線
xlUnderlineStyleSingleAccounting下線(会計)
xlUnderlineStyleDoubleAccounting二重下線(会計)

Colorプロパティの色の指定方法

色定数とRGB関数

Font.Color = 色定数 または Font.Color = RGB(R値, B値, G値)

指定色 定数RGB(R値, B値, G値)
 vbBlack0,0,0
 vbRed255,0,0
 vbGreen0,255,0
 vbYellow255,255,0
 vbBlue/td>0,0,255
マゼンタ vbMagenta255,0,255
シアン vbCyan0,255,255
 vbWhite255,255,255

Colorプロパティを使う場合は、色定数またはRGB関数を利用します。
(逆に言うと色定数やRGB関数を使いたい時はColorプロパティを利用することになります。)

ColorIndexプロパティの色指定方法

Excelに装備されている「色パレット」の色番号で指定します。

vbafontsys001
153525149115556
94612101454716
345435042411348
744648335415
384036353437392
 
1718192021222324
2526272829303132

色指定の解除は、xlAutomatic を指定します。

入力文字を装飾操作するためのコードを使ってみる

例題のコードとして、セルB3とB4に入力された文字を

  • フォント名を変更
  • 太字に変更
  • 文字サイズを15にする
  • 文字色を青に
  • 下線の会計にする

に変更してみます。

5項目も同時に変更するコードを作ると何かコチャゴチャしそうです。

複数の変更を行う場合、Withステートメントを使うことで、複数のプロパティを並べてコードをスッキリさせることが出来ます。

vbawithstateeyecatch With~End Withの使い方。VBAコードを簡潔に記述する

vbafontsys002
矢印下001
vbafontsys003
Sub fontset()

    With Range("B3:B4").Font
        .Name = "メイリオ"
        .Bold = True
        .Size = 15
        .Color = RGB(0, 0, 255)
        .Underline = xlUnderlineStyleSingleAccounting
    End With

End Sub

文字の書式設定のまとめ

入力文字の設定や装飾は、エクセルを使った資料やデータを作成する時には非常に重要です。

資料の仕上がりの見栄えで、しっかり読んでもらえるかどうかにもかかわってきます。

その見栄えに大きくかかわってくるのが、このFontというプロパティなのです。

ここは、丸暗記は決して必要ではありませんが、使い方はしっかり覚えておきましょう。

エクセルVBAを独学で学ぶための参考記事

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

エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います

改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書
定番参考書の改定新版が、動画付きになりもっと分かり易くなった
vbastudy022a
vbastudy023a

電子書籍版「改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書」をamazonで見てみる

(著者)大村あつし
(出版社)技術評論社
(税込価格)2,508円(本体2,280円+税)

30冊を超えるExcelのマクロやVBAの解説書を執筆してきた著者による考え抜かれた本書の内容と構成。
独創的な解説手法で必ずExcel VBAが理解できます!
初級からの参考書ですが、より実践的切り口での解説をしています。
QRコードから操作の流れを動画(無音です)で確認することもできるようになりました。
文章解説と動画との関係性は、主は文章での解説、サポートが動画になります。

vbabgcoloreyecatch セルの背景色を2クリックで他範囲にも展開できるマクロ vbasorteyecatch データの並び替え VBA新旧のSortを実データで実証 vbacellsprotecteyecatch 「セルの保護」の設定VBAを最速理解 vbacellspaint_gradteyecatch 「グラデーションの塗りつぶし」のセルを設定する cellspaintpatterneyecatch 「塗りつぶしの網掛け」VBAを最速理解 vbacellspaintbackeyecatch 「塗りつぶし」背景色をVBAで記述する vbacellsbordereyecatch 「罫線」のVBAを最速理解 vbacellsfonteyecatch 「フォント」の操作を最速理解する エクセルVBA vbacellsplacementeyecatch 「配置」を最速理解する エクセルVBA 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 Bordersの/位置/線種/太さ/色/と<外枠だけの罫線>の設置 vbarowseyecatch Rowsプロパティの働きと関連のメソッド vbadeleteeyecatch セルの編集 DeleteとClearの使い分け 削除とクリアの違い vbacurrentregioneyecatch CurrentRegionは連続データをまとめて掴む SpecialCellseyecatch SpecialCellsメソッドはセル検索し選択する vbacharactereyecatcha Charactersで文字列中の一部の文字を加工する vbafontsyseyecatcha Fontプロパティで文字装飾操作をする vbajyufukueyecatch エクセルVBA 同じ項目をまとめる(重複データの整理)コード作成 vbafindeyecatch001 Findメソッドでの検索の方法とコード組み立てのコツ vbalastcelleyecatch データ入力済セルの最終行番号を取得する vbaoffseteyecatch Offsetプロパティは指定範囲を移動させる

エクセルVBA最速理解で必要な知識を集めよう!

今回の記事はここまでです。   最後までご覧いただき有難うございました。

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。