Primeiro, .shaperange
não é uma propriedade ou método de comment
, então você não pode usar isso.
Veja um exemplo que funcionaria -
Sub tete()
Dim rng As Range
Set rng = ActiveSheet.Cells(5, 6)
rng.AddComment
rng.Comment.Text Text:="hi"
rng.Comment.Shape.Fill.UserPicture ("C:\Users\path\to\pic.jpg")
End Sub
O que nos leva ao uso de .UserPicture()
que requer um caminho como string. Então, se o seu caminho estiver nessa célula, verifique se você está valorizando-o.
Então, se a célula G1 = C:\Users\path\to\pic.jpg
rng.Comment.Shape.Fill.UserPicture (Range("G1"))
funcionaria.