Excel VBA 質問スレッド №1983 (解決済)
グラフのフォントにBIZ UDゴシックを指定するマクロ
投稿者 : めだ 投稿日時 : 2024/08/02(Fri) 09:47:05 OS : Windows 11 EXCEL : Office 365
以下のマクロでグラフエリアのすべてのフォントを「BIZ UDゴシック」に変更したいのですが、できません。なぜか別のフォントになってしまいます。BIZ UDゴシックはマクロで指定できないのでしょうか?
理由をお分かりの方がいらっしゃれば教えてください!
以下のマクロでグラフエリアのすべてのフォントを「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
>なぜか別のフォントになってしまいます。
なぜかは存じませんが、おっしゃるとおり別のフォントになってしまいました。
で、「マクロの記録」でフォントの変更を記録してみるとこうなりました。
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-12-11 06:06:19 )