Home » ExcelVBA Rangeオブジェクト » コメント » コメントのフォントサイズを変更するExcelマクロ

コメントのフォントサイズを変更するExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

「vba コメント フォントサイズ 変更」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)関連の情報を求めているということはわかりますが、何を求めているのか判断が難しい検索です。

VBE(Visual Basic Editor)でコード内に挿入したコメントのフォントサイズを変更する方法を探しているのか、Excelのワークシート・セルに挿入したコメントのフォントサイズを変更するVBAのコードを探しているのか、なんとも判断ができません。

VBEでコードに挿入したコメントのフォントサイズを変更したい場合、メニュー[ツール]−[オプション]から表示できる[オプション]ダイアログの[エディタの設定]タブでコード全体のフォントサイズを変更してください。
[スポンサードリンク]

シート上のセルコメントの文字サイズを変更するサンプルマクロ

Excelのワークシート・セルに挿入したコメントの文字の大きさを変更したい場合、以下ようなマクロです。

Sub アクティブシートのコメントの文字サイズを変更する()
 Dim cmt As Comment

 If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub

 For Each cmt In ActiveSheet.Comments
  cmt.Shape.TextFrame.Characters.Font.Size = 8
 Next cmt
End Sub

サンプルマクロの解説

WorksheetオブジェクトのCommentsプロパティで、指定したワークシートのすべてのコメントを表すCommentsコレクションオブジェクトを取得できます。

そのCommentsコレクションオブジェクトからFor Each~Nextループで、Commentオブジェクトを順番に取得して、
  For Each cmt In ActiveSheet.Comments

ShapeオブジェクトのTextFrameオブジェクトのCharactersオブジェクトのFontオブジェクトのSizeプロパティを変更することで、
  cmt.Shape.TextFrame.Characters.Font.Size = 8

ワークシート上のすべてのコメントのフォントサイズを変更しています。
  Comment.Shape.TextFrame.Characters.Font.Size
という階層の深いオブジェクト式であるところが難点でしょう。

グラフシートがアクティブなときにエラーとなってしまうことを避けるため、For Each ~ Next文に入る前に、
  If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
としています。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » コメント » コメントのフォントサイズを変更するExcelマクロ

Copyright © インストラクターのネタ帳 All Rights Reserved.

.