2

条件からセルとしてコメントを返す方法。

例:

=if(a1=0;insert comment on cell)

コメントを挿入してコメントを表示

4

1 に答える 1

7

デフォルトのワークシート関数では方法が見つからなかったため、次のように独自の関数を宣言する必要がある場合があります。

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
于 2012-09-24T15:03:40.510 に答える