Excel VBA: Fill.UserPicture

0

Em cell.Comment.ShapeRange... , recebo um erro: "Erro em tempo de execução '1004': erro definido pelo aplicativo ou definido pelo objeto". O que há de errado com isso?

Cells(cell.Row, 6) é a coluna de referência que contém os URLs das imagens. Por exemplo. http://somelink.com/img.jpg

Sub test()
Dim rng As Range


Set rng = Range("B2:B2331")


For Each cell In rng.Cells
    cell.AddComment
    cell.Comment.Text Text:="Owner:" & Chr(10) & ""
    cell.Comment.ShapeRange.Fill.UserPicture Cells(cell.Row, 6).Value
Next


End Sub
    
por NuWin 09.12.2015 / 19:55

1 resposta

0

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.

    
por 09.12.2015 / 20:10