
動画でExcelマクロ解説
動画版「Excelの3行マクロ」15回です。
今回はExcelの新しいコメントと新しいメモの使い方、定型文コメントをマクロで作成するマクロを作りたいと思います。
Excelの新しいコメント機能は、Office 365およびアップデート済みのExcel 2019/2016で利用できます。
以前のバージョンで使われいたコメントは、現在では「メモ」という名称に変わりました。
大きな特徴として、新しいコメント機能はSNSのように、スレッド化されています。
スレッド化されることで、他のユーザーとのやり取りを会話のように表示できます。
今回はあたらいいコメントの作成方法と、定型文。そして削除コードも学びます。
新しいコメントを挿入するには、Range オブジェクトに、.AddCommentThreadedメソッドを使用します。
AddCommentThreadedメソッドの引数はTextです。
新しいコメントを削除するには、Range オブジェクトの、CommentThreaded.Delete
'==============================================================
'=3行マクロ講座 スレッド化された新しいコメント15回 https://kokodane.com/
'==============================================================
Sub 新しいコメントの入力()
activeCell.AddCommentThreaded ("要チェック")
End Sub
Sub 新しいコメントを削除する()
activeCell.CommentThreaded.Delete
End Sub
Sub 新しいコメントを追加エラー対応()
' コメントがすでにあるとエラーになるので、以下のコードが必要
If Not activeCell.CommentThreaded Is Nothing Then
' コメントがある場合、内容を更新するコード
activeCell.CommentThreaded.Text ("もう一度連絡")
Else
activeCell.AddCommentThreaded Text:="要チェック"
End If
End Sub
Sub 新しいコメントを追加する改行付で()
If Not activeCell.CommentThreaded Is Nothing Then
' コメントに改行が必要なら、"& Chr(10) &"を使う
activeCell.CommentThreaded.Text _
Text:="連絡ください" & Chr(10) & "改行が必要なら"
Else
activeCell.AddCommentThreaded Text:="連絡ください"
End If
End Sub
従来のコメントは、シート上ではメモという名称に変わりましたが、VBAコードでは、従来のコードのまま使えます。
'==============================================================
'=3行マクロ講座 従来からの機能、新しいメモ15回 https://kokodane.com/
'==============================================================
Sub ユーザー名なしのメモを作る()
activeCell.AddComment
activeCell.Comment.Visible = True
End Sub
Sub ユーザー名なしのメモを一括削除する()
Cells.Select
Selection.ClearComments
End Sub
Sub ユーザー名なしのメモ1つ削除()
Selection.ClearComments
End Sub
Sub メモをテキストとフォント指定して作成()
activeCell.AddComment Text:="要チェック"
activeCell.Comment.Visible = True
activeCell.Comment.Shape.Select True
With Selection.Font
.Name = "メイリオ"
.Size = 12
End With
End Sub
従来からのメモと新しいコメントが混在している場合の削除コード
'==============================================================
'=3行マクロ講座 コメントとメモの削除15回 https://kokodane.com/
'==============================================================
Sub コメントとメモが共存する場合の選択範囲削除()
Dim cell As Range
For Each cell In Selection
' 新しいタイプのコメントがある場合、削除する
If Not cell.CommentThreaded Is Nothing Then
cell.CommentThreaded.Delete
End If
' 古いタイプのコメント”メモ”がある場合に削除する
If Not cell.Comment Is Nothing Then
cell.Comment.Delete
End If
Next cell
End Sub