Excel VBA 質問スレッド №1983 (解決済)

グラフのフォントにBIZ UDゴシックを指定するマクロ

投稿者 : めだ     投稿日時 : 2024/08/02(Fri) 09:47:05     OS : Windows 11     EXCEL : Office 365
以下のマクロでグラフエリアのすべてのフォントを「BIZ UDゴシック」に変更したいのですが、できません。なぜか別のフォントになってしまいます。BIZ UDゴシックはマクロで指定できないのでしょうか?
理由をお分かりの方がいらっしゃれば教えてください!



Sub ChangeFontInChartArea()
    Dim cht As Chart
    Dim ser As Series

    ' グラフが選択されているかどうかを確認
    If TypeName(Selection) = "ChartObject" Or TypeName(Selection) = "ChartArea" Then
        If TypeName(Selection) = "ChartObject" Then
            Set cht = Selection.Chart
        Else
            Set cht = Selection.Parent
        End If

        ' グラフタイトルのフォントを変更
        On Error Resume Next
        If cht.HasTitle Then
            cht.ChartTitle.Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        End If
        On Error GoTo 0
        
        ' 軸タイトルのフォントを変更
        On Error Resume Next
        If cht.Axes(xlCategory, xlPrimary).HasTitle Then
            cht.Axes(xlCategory, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        End If
        If cht.Axes(xlValue, xlPrimary).HasTitle Then
            cht.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        End If
        On Error GoTo 0
        
        ' 軸ラベルのフォントを変更
        On Error Resume Next
        cht.Axes(xlCategory, xlPrimary).Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        cht.Axes(xlValue, xlPrimary).Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        On Error GoTo 0
        
        ' 凡例のフォントを変更
        On Error Resume Next
        cht.Legend.Format.TextFrame2.TextRange.Font.Name = "BIZ UDゴシック"
        On Error GoTo 0
        
        ' データラベルのフォントを変更
        For Each ser In cht.SeriesCollection
            On Error Resume Next
            With ser.DataLabels.Format.TextFrame2.TextRange.Font
                .Name = "BIZ UDゴシック"
            End With
            On Error GoTo 0
        Next ser
        
        MsgBox "グラフ内のすべてのテキストのフォントが 'BIZ UDゴシック' に変更されました。"
    Else
        MsgBox "グラフを選択してください。"
    End If
End Sub

スポンサーリンク
[返信 1] Re : グラフのフォントにBIZ UDゴシックを指定するマクロ
投稿者 : さんこう     投稿日時 : 2024/08/02(Fri) 10:11:46
>なぜか別のフォントになってしまいます。

なぜかは存じませんが、おっしゃるとおり別のフォントになってしまいました。

で、「マクロの記録」でフォントの変更を記録してみるとこうなりました。

With Selection.Format.TextFrame2.TextRange.Font
.NameComplexScript = "BIZ UDゴシック"
.NameFarEast = "BIZ UDゴシック"
.Name = "BIZ UDゴシック"
End With

これだとフォントが変更されるので、「.NameFarEast」とかが必要なのかもしれません。

<VBA Font.NameFarEast>
https://www.google.com/search?q=VBA+Font.NameFarEast

[返信 2] Re : グラフのフォントにBIZ UDゴシックを指定するマクロ
投稿者 : めだ     投稿日時 : 2024/08/02(Fri) 11:37:57
早速どうもありがとうございます。試してみます。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-01-25 11:19:56 )
タイトルとURLをコピーしました