You could have the user run this macro. The major drawback is that if a user
wishes to edit an existing comment, they can't. They'd have to insert a new
comment over the old one:
Sub InsertComment()
Dim strPassword As String
Dim strCommText As String
Dim strMsg As String
Dim strMsg2 As String
Dim nMsgResp As Long
Dim strOldComm As String
strPassword = "apple" 'change to your password
strMsg = "Comment already in cell! Do you want to insert a new comment?"
strMsg2 = "Insert text for comment in "
With ActiveCell
If Not .Comment Is Nothing Then
strOldComm = .Comment.Text
nMsgResp = MsgBox(strMsg, vbYesNo)
If nMsgResp = vbYes Then
.Comment.Delete
GoTo NewComment
Else
Exit Sub
End If
Else
NewComment:
strCommText = InputBox(strMsg2 & .Address(False, False) & ":")
ActiveSheet.Unprotect Password:=strPassword
.AddComment
If strCommText = "" Then
.Comment.Text Text:=strOldComm
Else
.Comment.Text Text:=strCommText
ActiveSheet.Protect Password:=strPassword
End If
End If
End With
End Sub