マクロ(VBA)を使い始めたけれど、フォント(font.name)の設定の仕方が分からないという方に向けて、その使い方をまとめました。まずは、基本的な使い方を紹介した後に、実践で使う場面の多い方法を紹介していきますね。
コンテンツ
フォント(font.name)の基本的な使い方
まずは、ある特定のセルのフォントを変更する基本的な方法を紹介しますね。
例えば、B6セルのフォントを「HG丸ゴシックM-PRO」へ変更したいときのコードは以下のようになります。
◆VBAコード例
Sub フォントの変更()
Range("B6").Font.Name = "HG丸ゴシックM-PRO"
End Sub
この際に、フォント名は正確に記載する必要がありますので、「ホーム」タブの「フォント」からコピーする方法をおすすめします。
フォント(font.name)を全てのセルへ一括適用させる方法
次に、シート全体のフォントを一括で設定したいケースを見ていきます。
例えば、画像のようにフォントが「MS P明朝」となっている状態から、「HG丸ゴシックM-PRO」へ変更する場合のコードは以下のようになります。当然ですが、フォントのみを変更しているため、文字の色や背景色などその他の変更は適用されません。
◆VBAコード例
Sub 全てのセルのフォント変更()
Cells.Font.Name = "HG丸ゴシックM-PRO"
End Sub
特定セルのフォントをコピーする方法
これまでは、フォントを直接指定するコード例を紹介してきました。しかし中には、特定のセルのフォントと同じフォントへ変更したい場合もあるかと思います。
例えば、シート全体のフォントが「MS P明朝」で書かれているものの、B2セルのみ「HG丸ゴシックM-PRO」で書かれているシートがあったとします。シート全体をB2セルと同じフォントを適用したい場合のコード例は以下の通りです。
◆VBAコード例
Sub 特定セルのフォントを適用()
Cells.Font.Name = Range("B2").Font.Name
End Sub
日本語と英数字で異なるフォントを設定する方法
日本語のフォントとしては良いのだけれど、英数字のフォントとしては微妙であるケースもありますよね。例えば、日本語フォントとしては「HG丸ゴシックM-PRO」で、英数字のフォントは「Times New Roman」を使いたい場合を考えてみます。この際の設定方法としては、日本語フォント→英数字フォントの順で設定すればOKです。
◆VBAコード例
Sub 日本語と英数字で別フォントを適用()
Cells.Font.Name = "HG丸ゴシックM-PRO"
Cells.Font.Name = "Times New Roman"
End Sub
標準フォント(StandardFont)で設定する方法
セルごとにフォントが異なって、見づらくなっている場合に標準フォントに戻したい場合があると思います。
例えば、画像のように様々なフォントが混在しているときに、標準フォント(私の場合は「MS P明朝」)へ変更する際のコードは以下の通りです。
◆VBAコード例
Sub 標準フォントへ変更()
Cells.Font.Name = Application.StandardFont
End Sub
なお、現在の自分の標準フォントの確認コードも、ついでに紹介させていただきますね。
◆VBAコード例
Sub 標準フォントの確認方法()
MsgBox Application.StandardFont
End Sub
標準フォントの設定に関しては、下記の記事でも詳細を紹介していますので、興味のある方は参考にしてください。
フォント(font.name)をセル内の一部の文字のみへ適用させる方法
最後は、セル内の一部の文字だけフォントを変更する方法を紹介します。
画像の例では、B2セルに文字が入力されており、この中の"HG丸ゴシックM-PRO"のみフォントを「HG丸ゴシックM-PRO」へ変更したいと思います。Charactersの使い方としては、Characters(a,b)とするとa文字目からb文字目まで変更が適用されますよ。
◆VBAコード例
Sub セル内の一部の文字のみフォントを変更()
Range("B2").Characters(2, 13).Font.Name = "HG丸ゴシックM-PRO"
End Sub
まとめ
VBAでのフォント(font.name)の使い方として、基本的なものから実践で使うものまで紹介させてもらいました。これらのテクニックの組み合わせを変えることで、ほとんどのフォント変更は可能ですので、是非、習得して下さいね。