Option Explicit
Sub AddToComment()
' From Ozgrid.com & Thanks'
Dim rCell As Range: Dim cCom As Comment
Dim Max_ As Byte, Col As Byte, jJ As Byte, Bu As Byte
For Each rCell In Range("B4:E8")
If Max_ < Len(rCell.Value) Then Max_ = Len(rCell.Value)
Next rCell
With Range("A1")
.ClearComments
Set cCom = .AddComment
End With
Col = Range("B4:E8").Columns.Count
For Each rCell In Range("B4:E8")
jJ = jJ + 1: Bu = Max_ - Len(rCell.Value)
If Bu < 6 Then Bu = Switch(Bu = 0, 0, Bu = 1, 2, Bu = 2, 3, Bu = 3, 5, Bu = 4, 6, Bu = 5, 8)
cCom.Text Text:=cCom.Text & rCell.Text & Space(2 + Bu) & "|" & IIf(jJ Mod Col = 0, Chr(10), "")
Next rCell
End Sub