Excel VBA スレッド形式のコメントのテキスト(内容)を変更する-Text

Excel VBAスレッド形式コメントテキスト内容)を変更する記録です。

コメントのテキストを取得、変更するには、「CommentThreaded」オブジェクトの「Text」メソッドを使います。

「Text」メソッド構文

スレッドコメントのテキストを設定します。

CommentThreadedオブジェクト.Text (Text, Start, Overwrite)

Text=省略可能。追加する文字を指定。

Start=省略可能。文字列を配置する文字の位置番号を指定。OverwriteパラメーターがTrueまたは空白の場合、この引数を省略すると、スレッドコメント内の既存のテキストが削除されます。

Overwrite=省略可能。既定値はTrue。False:挿入。True:上書き。

コメントのテキスト(内容)を変更する

コメントの内容を全て変更する

コメントの内容を全て入れ替える場合は、「Start」「Overwrite」「Text」は省略してもOKです。

次のように書き込んでみます。

Sub test()
  Range("B2").CommentThreaded.Text Text:="コメント入替"
End Sub
コメント文字変更VBA
コメント文字変更

コメントの内容の頭に文字を追加する

コメントの最初に文字を追加したい場合は、「Overwrite」をFalseにします。

この場合「Text:=」も書かないと動作しません。

Sub test()
  Range("B2").CommentThreaded.Text Text:="最初", Overwrite:=False
End Sub
コメント文字変更VBA
コメント文字変更

コメントの内容の中間に文字を追加する

コメントの最後に文字を追加したい場合は、「Start」を数値で指定し、「Overwrite」をFalseにします。

元のコメントの3文字目から文字を追加する場合は次のように書きます。

Sub test()
  Range("B2").CommentThreaded.Text Text:="3文字目", Start:=3, Overwrite:=False
End Sub
コメント文字変更VBA
コメント文字変更

コメントの内容の最後に文字を追加する

コメントの文字の間に追加したい場合は、コメントの文字数を数えて「Start」に数値で指定し、「Overwrite」をFalseにします。

Sub test()
  Dim txt_cnt As Long
  txt_cnt = Len(Range("B2").CommentThreaded.Text) + 1
  Range("B2").CommentThreaded.Text Text:="最後", Start:=txt_cnt, Overwrite:=False
End Sub
コメント文字変更VBA
コメント文字変更

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします