Excelの図形(オブジェクト)のフォントサイズを変更
前提
下記記載のマクロは、Office365(2024/11/30)時点のものを利用しています。
マクロは、生成AIChat Gptを利用して生成。
実行結果は確認済みです。
経緯
顧客先より、いただいた資料が大変読みづらいため。
オブジェクトのフォントサイズを16pt変更することにしました。
注意事項
・バックアップを取る
マクロ実行前に元データのバックアップを作成してください。
・マクロの有効化
マクロを実行するには、Excelで「マクロ有効化」の設定が必要です。
手順概要
A. 準備)開発メニューを表示
B. VBAマクロの操作画面を表示
C. マクロを貼り付けて、実行
D. ファイルの保存を行う
E. まとめ
A. 準備)開発メニューを表示
(既に開発メニューがある場合は、不要です)。
1.Excelを開く
2.ファイルメニューをクリック
3.オプションをクリック(筆者ノートPCでは、その他の中にありました)
4.Excelのオプションのリボンのユーザー設定をクリック
5.リボンのカスタマイズをします。右側リボンのユーザー設定(B)のメインタブに開発にチェックを入れる
6.OKをクリック
B. VBAマクロの操作画面を表示
1.開発タブをクリック
2.表示されるVisual Basicをクリック
3.新たに画面が表示されます。
(難しい印象を持たれる方もいるかと思いますが、行う操作は、ごく一部です。)
表示された画面に、マクロを貼り付けて実行する形となります。
C. マクロを貼り付けて、実行
1.下記のプログラムをコピーして、貼り付けをしてください。
Sub ChangeFontSizeInAllShapes()
Dim ws As Worksheet
Dim shp As Shape
' すべてのワークシートをループ
For Each ws In ThisWorkbook.Worksheets
' ワークシート内のすべてのオブジェクト(Shape)をループ
For Each shp In ws.Shapes
' テキストを持つオブジェクトの場合のみ処理
If shp.Type = msoTextBox Or shp.Type = msoAutoShape Then
If shp.TextFrame2.HasText Then
shp.TextFrame2.TextRange.Font.Size = 16
End If
End If
Next shp
Next ws
MsgBox "すべてのオブジェクトのフォントサイズを16ptに変更しました!", vbInformation
End Sub
3.Sub/ユーザーフォームの実行 F5をクリック
→マクロが実行されます。
以上が、修正作業です。
D. ファイルの保存を行う
マクロ実行後、Excelを保存する際に、下記の表示がされます。
・マクロも含めて保存を行う(拡張子.xlsm)
・実行したマクロは保存しない(拡張子.xlsx)
どちらかでの保存という形となります。
→実行したマクロは保存しないため、機能の保存と消去をクリックしてください。
以上となります。
E. まとめ
マクロを利用することで、手動で図形のフォントサイズを変更する手間が省けます。