条件からセルとしてコメントを返す方法。
例:
=if(a1=0;insert comment on cell)
コメントを挿入してコメントを表示
デフォルトのワークシート関数では方法が見つからなかったため、次のように独自の関数を宣言する必要がある場合があります。
Public Function GetComment(rng As Range) as String
GetComment = rng.NoteText
'also possible
'GetComment = rng.Comment.Text
End Function
この関数をモジュールに保存して、ワークシート関数としてアクセスできるようにします。
次に=if(a1=0;GetComment(A1))
、コメントを返すために使用します。
編集:
少し誤解している可能性があるため、呼び出し元セルにコメントを追加し、その内容を指定されたコメントに設定し、コメントを表示するバージョンを次に示します。
Public Function AddCmt(strComment As String) As String
Dim rngCaller As Range
If TypeName(Application.Caller) Like "Range" Then
Set rngCaller = Application.Caller
With rngCaller
If .Comment Is Nothing Then
.AddComment (strComment)
Else
.Comment.Text strComment
End If
.Comment.Visible = True
End With
'set caller-cell content to given comment
AddCmt= strComment
End If
End Function