Sub TEST4()
With Range("A3")
'コメントが入力されている場合
If TypeName(.Comment) = "Comment" Then
MsgBox "コメントがあります"
'コメントが入力されていない場合
Else
MsgBox "コメントはありません"
End If
End With
End Sub
コメントを入力したセルを用意しました。
コメントを入力したセル
では、VBAコードを実行してみます。
コメントが入力されているかを判定
結果は、「コメントがあります」となりました。
コメントが入力されているので、正しく判定できています。
コメントが入力されていない場合に、コメントを追加するVBAコードは、こんな感じになります。
コメントが入力されていない場合にコメントを追加
Sub TEST5()
With Range("A3")
'コメントが入力されている場合
If TypeName(.Comment) = "Comment" Then
MsgBox "コメントがあります"
'コメントが入力されていない場合
Else
'コメントを追加
.AddComment
'コメントを入力
.Comment.Text "コメント"
End If
End With
End Sub
次は、コメントが入力されていないセルを用意しました。
コメントが入力されていないセル
では、実行してみます。
コメントが入力されていない場合にコメントを追加
コメントを追加できました。
もう一度、VBAを実行してみます。
コメントが入力されている場合はメッセージが表示
コメントが既に入力されているので、メッセージが表示されました。
こんな感じで、コメントの判定をした後に、コメントを追加すると、エラーを回避することができます。
VBAでコメントを表示と非表示にする
VBAで、コメントを表示したり、非表示にしたりしてみます。
Visibleで表示する
使うVBAコードは、「Visible」です。
コメントを表示するVBAコードは、こんな感じになります。
Sub TEST6()
'コメントを表示
Range("A3").Comment.Visible = True
End Sub
非表示のコメントを用意しました。
非表示のコメント
では、VBAコードを実行して、コメントを表示してみます。
コメントを表示した結果
コメントを、表示することができました。
Visibleで非表示にする
次は、コメントを非表示にしてみます。
コメントを非表示にするVBAコードは、こんな感じになります。
Sub TEST7()
'コメントを非表示
Range("A3").Comment.Visible = False
End Sub
表示されているコメントを用意しました。
表示されているコメント
では、VBAコードを実行して、コメントを非表示にしてみます。
コメントを非表示にした結果
コメントを、非表示にすることができました。
VBAでコメントを取得する
VBAでコメントを取得してみます。
コメントを取得
コメントの取得は、「.Comment.Text」を使うとできます。
こんな感じで取得できます。
Sub TEST8()
'コメントを取得
Debug.Print Range("A3").Comment.Text
End Sub
セルにコメントを入力しておきました。
セルにコメントを入力
では、コメントを取得してみます。
コメントを取得
コメントを取得することができました。
VBAでコメントを削除
次は、コメントを削除してみます。
ClearCommentsを使う
コメントの削除は、「ClearComments」を使います。
コメントを削除する、VBAコードはこんな感じになります。
Sub TEST9()
'コメントを削除
Range("A3").ClearComments
End Sub
セルにコメントを入力しておきました。
コメントを入力
では、VBAコードを実行して、コメントを削除してみます。
コメントを削除した結果
コメントを削除できました。
コメントの追加と削除をまとめてみる
コメントの追加と削除をまとめてみます。
ちょっと実務的な内容です。
ダブルクリックでコメント追加と削除
ダブルクリックで、コメントの追加と削除できるようにしてみます。
コメントがない場合:コメントを追加
コメントがある場合:コメントを削除
といった感じです。
VBAコードは、こんな感じになります。
'ダブルクリックで実行
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'アクティブを解除
Cancel = True
With Target
'コメントが入力されている場合
If TypeName(.Comment) = "Comment" Then
.ClearComments
'コメントが入力されていない場合
Else
'コメントを追加
.AddComment
'コメントを表示
.Comment.Visible = True
'コメントに、セルの数式を入力
.Comment.Text Target.Formula
End If
End With
End Sub