Sub AddComment()
On Error Resume Next
Dim cmtMsg As String, nwLne As String, LneCnt As Long, shCmt As Long
If TypeName(Selection) <> "Range" Then Exit Sub
AddLine:
nwLne = InputBox("Text Line: " & LneCnt + 1 & vbNewLine & vbNewLine & _
"New Text Lines are added automatically." & vbNewLine & _
"Leave blank or push ""Cancel"" to exit.", "Please write your comment")
If LneCnt > 0 Then cmtMsg = cmtMsg & Chr(10) & nwLne Else cmtMsg = nwLne
LneCnt LneCnt + 1
If nwLne <> "" Then GoTo AddLine
cmtMsg = Left(cmtMsg, Len(cmtMsg) - 1)
Application.ScreenUpdating = False
With ActiveCell
.ClearComments
.AddComment
With .Comment
.Visible = True
.Shape.AutoShapeType = msoShapeRoundedRectangle
.Shape.Shadow.Visible = msoFalse
.Shape.Select True
.Text Text:=cmtMsg
If cmtMsg <> "" Then .Shape.TextFrame.AutoSize = True
shCmt = MsgBox("Do you want the comment to remain visible? ", _
vbYesNo, "Keep comment visible?")
If shCmt = vbNo Then .Visible = False
End With
.Select
End With
Application.ScreenUpdating = True
End Sub
Found this, have a go at it.