Se si verifica l'errore in quella riga questo suggerirebbe che nessun
foglio con il nome specificato è stato trovato nella cartella di lavoro
specificata; di conseguenza, supponendo che il numero di errore sia
l'errore 9, sei sicuro che il foglio interessato si trova nella stessa
cartella di lavoro il mio codice?
------------------------------------------------------------------
Ciao Norman,
grazie.
Infatti avevo incollato la macro sul personal.xls invece del file xls.
Ho risolto come ha detto r, ho messo activeworkbook
Ora tutto funziona e le immagini mi restano.
Solo una cosa però...quando le immagini vengono incollate nel foglio excel
risultano della misura (larghezza e altezza) della cella.
Per capirci...se una foto fosse 100X100 px, quando viene inserita, se la
cella dove viene inserita fosse di 20X50 px, la foto risulterebbe di 20x50.
Nella "mia" macro iniziale, questo non succedeva, quando veniva importata,
era delle dimensioni che volevo io (75px di default).
E' possibile applicare tutto ciò anche alla tua macro? O forse no perchè
magari lavora in maniera diversa rispetto alla "mia"?
Ed possibile far partire la macro senza specificare il file col nome PIPPO,
ma bensi sul foglio in cui mi trovo?
Intanto posto la macro "corretta" dell' "errore":
Option Explicit
'------------->>
Public Sub inserisci_Immagini()
Dim WB As Workbook
Dim SH As Worksheet
Dim sImmagine As String
Dim sPath As String
Dim c As Range
Dim rng As Range
Dim myShape As Shape
Const sAddress As String = "H1:H30"
Set WB = ActiveWorkbook
Set SH = WB.Worksheets("pippo")
'WB.Worksheets("pippo")
sPath = "C:\immagini\"
With Application
If Right(sPath, 1) <> .PathSeparator Then
sPath = sPath & .PathSeparator
End If
On Error GoTo ErrH
.ScreenUpdating = False
End With
With SH
Set rng = .Range(sAddress)
For Each c In rng.Cells
If c.Value <> "" Then
sImmagine = ""
sImmagine = sPath & _
c.Value
If Dir(sImmagine) <> "" Then
Set myShape = .Shapes.AddPicture _
(Filename:=sImmagine, _
LinkToFile:=True, _
SaveWithDocument:=True, _
Left:=100, _
Top:=100, _
Width:=100, _
Height:=100)