【Excel VBA】文字列全体/一部の文字列のフォントを設定する…Nameプロパティ

[Excel VBA]

FontオブジェクトのNameプロパティを使用すると、「游ゴシック」「MS 明朝」といったフォントを取得/設定できます。ここでは、セルの文字列全体や一部の文字列のフォントを設定する方法を紹介します。

スポンサーリンク

書式

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

FontオブジェクトのNameプロパティにフォント名を設定すると、指定した文字のフォントを変更できます。設定できるフォント名は、[ホーム]タブの[フォント]の選択肢のうち[すべてのフォント]欄に含まれるフォントです。[テーマのフォント]欄のフォントを設定したい場合は、ThemeFontプロパティを使用してください。

使用例

セルの文字列全体のフォントを設定する

Range("A1").Font.Name = "HGP明朝E"
セルA1の文字を「HGP明朝E」にする

メモ

フォント名を正確に入力すること
フォント名は、全角/半角やスペースの有無などを正しく指定する必要があります。空いているセルに目的のフォントを設定して、[ホーム]タブの[フォント]欄でフォント名を選択・コピーし、コードに貼り付けるとよいでしょう。コピーには[Ctrl]+[C]キー、貼り付けには[Ctrl]+[V]キーを利用します。

一部の文字列のフォントを設定する

Range("A1").Characters(1, 4).Font.Name = "Broadway"
セルA1の1文字目から4文字目を「Broadway」にする

別のセルのフォントと同じフォントを設定する

Range("A3:C3").Font.Name = Range("A1").Font.Name
セルA3~C3に、セルA1と同じフォントを設定する

日本語と英数字で異なるフォントを設定する

Range("A1").Font.Name = "メイリオ"
Range("A1").Font.Name = "Comic Sans MS"
セルA1に「メイリオ」(和文フォント)を設定する
セルA1に「Comic Sans MS」(欧文フォント)を設定する

メモ

和文フォント→欧文フォントの順に設定すること
フォントには、日本語用の「和文フォント」と半角の英数字・記号用の「欧文フォント」があります。セルに一般的な和文フォントを設定すると、セル内のすべての文字に和文フォントが適用されます。一方、セルに欧文フォントを設定した場合は、セル内の半角英数字と一部の記号だけに欧文フォントが適用され、日本語は元のフォントのままになります。
したがって、セルに和文フォント→欧文フォントの順に設定すれば、日本語と半角英数字に異なるフォントを設定できます。設定順を逆にすると、セル内のすべての文字が和文フォントになってしまうので注意してください。

テーマのフォントではない「游ゴシック」を設定する

[ホーム]タブの[フォント]の一覧には、[テーマのフォント]欄と[すべてのフォント]欄のそれぞれに「游ゴシック」があります。[すべてのフォント]欄の游ゴシックを設定するには、ThemeFontプロパティに定数「xlThemeFontNone」(テーマのフォントを使用しない)、Nameプロパティに游ゴシックを設定します。

Range("A1").Font.ThemeFont = xlThemeFontNone
Range("A1").Font.Name = "游ゴシック"
セルA1にテーマのフォントを使用しない
セルA1のフォントを「游ゴシック」にする
スポンサーリンク

関連記事