文字のフォントサイズを変更する方法

今回の目標

この記事では、フォントサイズの変更方法や取得方法を解説します。

目標リスト

  • セルのフォントサイズを変更できるようになる
  • セル内の一部の文字のみ、フォントサイズを変更できるようになる

Font.Size プロパティについて

Font.Size プロパティとは

Font.Size プロパティは、Rangeオブジェクトに含まれる Font オブジェクトのプロパティで、フォントサイズ(文字の大きさ)を変更または取得できます。
フォントサイズは、1つのセル全てのデータを変更や取得する方法と、一部のデータのみ変更する方法があります。
なお、取得時は Double 型の数値です。

Font.Size プロパティの構文

セルA1のフォントサイズを14ptに変更するプログラムです。
※「#」は数値を、Double型として扱います。

Range("A1").Font.Size = 14#

フォントサイズは整数以外の値(例:10.5pt)に変更できます。

セルA1のフォントサイズを取得するプログラムです。取得結果はイミディエイトウィンドウに表示されます。

Debug.Print Range("A1").Font.Size

セルのフォントのサイズを操作する

Rangeオブジェクトの Font.Size でフォントサイズを操作します。

サンプルコード

Sub FontSizeSample1()
    'セルA1~A3を"地道に学ぶExcelVBA"に設定する
    Range("A1:A3") = "地道に学ぶExcelVBA"
    
    'セルA1~A3のフォントサイズを 11ptにする
    Range("A1:A3").Font.Size = 11#
    
    'セルA2のフォントサイズを 12ptにする
    Range("A2").Font.Size = 12#
    
    'セルA3のフォントサイズをセルA2より、2pt大きくする
    Range("A3").Font.Size = _
        Range("A2").Font.Size + 2#
End Sub
【実行結果】
プログラム実行前の画像

文字列の一部のフォントのサイズを変更する

文字列の一部のフォントのサイズを変更する場合は、「Range」オブジェクトと「Font.Size」プロパティの間に『Characters』を追加します。
詳細は別記事(※準備中)で説明しますが、『Characters(開始位置, 文字数)』プロパティを使用します。
例:Range("A1").Characters(3, 2).Font.Size = 14
 → セルA1の3文字目から2文字のみ(=3文字目と4文字目)、フォントサイズを14へ変更する

サンプルコード

Sub FontSizeSample2()

    'セルA1のテキストとフォントサイズを設定する
    With Range("A1")
        .Value = "ABCDEFGHIJ"
        .Font.Size = 11#
    End With

    'セルA1の3文字目から2文字のみ、フォントサイズを 15ptにする
    Range("A1").Characters(3, 2).Font.Size = 15
    
    'セルA1の7文字目から3文字のみ、フォントサイズを 20ptにする
    Range("A1").Characters(7, 3).Font.Size = 20
End Sub
【実行結果】
プログラム実行前の画像

セル全てのフォントサイズを変更する

アクティブなセル全てのフォントサイズを変更する方法です。
『Cells』を使い、セル全てを指定してフォントサイズを変更します。

サンプルコード

Sub FontSizeSample3()
    '全てのセルのフォントサイズを11ptにする
    Cells.Font.Size = 11#
End Sub
【実行結果】
アクティブなシートの全セルのフォントサイズが、11ptに変更されます。

関連リンク

ページの先頭へ