第94回.コメント(Comment)
マクロVBAでセルにコメントを入れたり、編集したり、削除したりするVBAコードを解説します。
コメント(Comment)に関する各種オブジェクト
Rangeオブジェクト
名前 | 説明 | |
プロパティ | Comment | セル範囲の左上隅のセルに関連付けられているコメントを表す Comment オブジェクトを取得します。 |
メソッド | AddComment | 範囲にコメントを追加します。 |
ClearComments | 指定されたセル範囲からすべてのコメントを消去します。 |
Commentオブジェクト
名前 | 説明 | |
プロパティ | Application | 対象となるオブジェクトが指定されない場合は、Excel アプリケーション (Application オブジェクト) を返します。 対象となるオブジェクトが指定された場合は、指定されたオブジェクトを作成した Application オブジェクトを返します。 OLE オートメーションを使っていて、オブジェクトのアプリケーションにアクセスするときなどに、このプロパティを使います。 値の取得のみ可能です。 |
Author | コメントの作成者を示す文字列を返します。 値の取得のみ可能です。 文字列型 (String) の値を使用します。 |
|
Creator | 現在のオブジェクトが作成されたアプリケーションを示す 32 ビットの整数を取得します。 値の取得のみ可能です。長整数型 (Long) の値を使用します。 |
|
Parent | 指定されたオブジェクトの親オブジェクトを取得します。 値の取得のみ可能です。 |
|
Shape | 指定されたコメントに結合される図形を表す Shape オブジェクトを返します。 | |
Visible | オブジェクトを表示するかどうかを表すブール型 (Boolean) の値を設定します。 値の取得および設定が可能です。 |
|
メソッド | Delete | オブジェクトを削除します。 |
Next | 次のコメントを表す Comment オブジェクトを返します。 | |
Previous | 前のコメントを表す Comment オブジェクトを返します。 | |
Text | コメントの文字列を設定します。 |
Commentsコレクション
名前 | 説明 | |
プロパティ | Application | 対象となるオブジェクトが指定されない場合は、Excel アプリケーション (Application オブジェクト) を返します。 対象となるオブジェクトが指定された場合は、指定されたオブジェクトを作成した Application オブジェクトを返します。 OLE オートメーションを使っていて、オブジェクトのアプリケーションにアクセスするときなどに、このプロパティを使います。 値の取得のみ可能です。 |
Count | コレクションに含まれるオブジェクトの数を表す長整数型 (Long) の値を返します。 | |
Creator | 現在のオブジェクトが作成されたアプリケーションを示す 32 ビットの整数を取得します。 値の取得のみ可能です。長整数型 (Long) の値を使用します。 |
|
Parent | 指定されたオブジェクトの親オブジェクトを取得します。 値の取得のみ可能です。 |
|
メソッド | Item | コレクションから単一のオブジェクトを返します。 |
コメント(Comment)の挿入
Textは省略可能です、その場合はコメントの枠だけが挿入されることになります。
既にコメントが挿入されている場合は、AddCommentはエラーとなります。
コメント(Comment)の削除
または、
Range.Comment.Delete
Range("A1").Comment.Delete
Range.ClearCommentsは問題なく実行できますが、
Range.Comment.Deleteは、エラーとなります。
コメント(Comment)の編集
そのCommentオブジェクトのプロパティ、メソッドを使います。
コメント(Comment)実践例
Sub sample1()
With
Range("A1").AddComment
.Text Text:="yamaoka:" & vbLf &
"コメント"
.Visible = True
.Shape.Select
With
Selection.Font
.Size = 14
.Bold = True
End
With
.Visible = False
End With
End
Sub
マクロの記録を参考にして普通に書くとこんな感じになったりしますが、
With Selection.Font
そこで、以下のようにします。
Sub samle2()
Dim cm As Comment
With
Range("A1").AddComment
.Text Text:="yamaoka:" & vbLf &
"コメント"
With .Shape.TextFrame
.Characters.Font.Size =
14
.Characters.Font.Bold = True
End With
End With
End
Sub
Shape.TextFrame
コメントとは直接関係なくなってしまうのですが、
オートシェイプのテキストを変更する場合の指定です。
これさえ理解していれば、
後はオートシェイプ同様にShapeオブジェクトを操作すれば良いという事が分かります。
第97回.図形オートシェイプ(Shape)
こちらご参考にしてください。
コメントの位置移動と自動サイズ調整する(Comment)
同じテーマ「マクロVBA入門」の記事
第126回.入力規則(Validation)
第92回.名前定義(Names)
第93回.ピボットテーブル(PivotTable)
第94回.コメント(Comment)
第95回.ハイパーリンク(Hyperlink)
第96回.グラフ(Chart)
第97回.図形オートシェイプ(Shape)
第136回.フォームコントロール
第137回.ActiveXコントロール
第98回.Findメソッド(Find,FindNext,FindPrevious)
第99回.Replaceメソッド(置換)
新着記事NEW ・・・新着記事一覧を見る
エクセル関数辞典 AI版|エクセル入門(6月10日)
生成AIと100本ノック 28本目:シートをブックに分割|生成AI活用研究(6月8日)
生成AIと脱Excelの時代:ブラックボックスと共に進む知的変革|生成AI活用研究(2025-06-08)
生成AIと100本ノック 27本目:ハイパーリンクのURL|生成AI活用研究(6月7日)
生成AIと100本ノック 26本目:ファイル一覧作成|生成AI活用研究(6月6日)
AI時代のプログラミング再考:記述の自由と知の民主化|生成AI活用研究(2025-06-06)
Excel×スプレッドシート連携:HTTP GETで学ぶGAS API設計入門|生成AI活用研究(2025-06-04)
AI×ひらめき ― 「ネタ」が飛躍する創造の増幅プロセス|生成AI活用研究(2025-06-03)
Googleカレンダーの日本の祝日をGASとExcelで取得する ~APIキー不要、XML連携ガイド~|生成AI活用研究(2025-06-02)
究極のVBA転記プロンプト公開!あなたの事務作業を劇的に効率化|生成AI活用研究(2025-06-02)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。