buondì a tutti,
non capisco cosa c'è che non va.. il codice che vi riporta funziona molto bene, carica delle foto in excel.
il problema nasce quando la foto non esiste dove per la prima che non trova scrive correttamente NA la seconda va in debug il codice in questa istruzione " ActiveSheet.Pictures.Insert" invece dovrebbe andare in errore e scrivere NA..

Sto usando male il On Error GoTo?
Qualcuno ha qualche idea?

codice:
Sub CaricaFoto()
Dim i As Variant

On Error GoTo PictureNotAvailable
Application.DisplayAlerts = False

For e = 4 To Sheets("Aggiorna").Range("C1").Value
foglio = Sheets("Aggiorna").Range("B" & e).Value
origine = Sheets("Aggiorna").Range("C" & e).Value
colonna = Sheets("Aggiorna").Range("D" & e).Value

    Sheets(foglio).Select
    ActiveSheet.Range("a1").Select
    
        ' Ciclo tutte le foto del foglio e le cancello
        For Each i In Sheets(foglio).Shapes
            If Left(i.Name, 7) = "Picture" Then i.Delete
        Next i
        
        ' Carico la foto e la ridimensiono con la grandezza della cella
        For Each i In Sheets(foglio).Range(origine)
            'Se il modello ha uno spazio lo cambio con un underscore
             nomefile = Replace(i.Value, " ", "_")
            'Seleziono la cella
            ActiveSheet.Cells(i.Row, colonna).Select
            'Decido dove mettere la foto
            var_Width = Sheets(foglio).Columns(colonna).ColumnWidth
            var_Height = Sheets(foglio).Cells(i.Row, colonna).Height
            'Carico la foto
            ActiveSheet.Pictures.Insert("\\luxedge1\LuxPicsCache\parts\wip\default\warn\0" & _
                Mid(i.Value, 2, 2) & "\AUTO_600_600\" & nomefile & ".JPG").Select
            'Ridimensione la foto
            var_Width = Sheets(foglio).Columns(colonna).ColumnWidth
            var_Height = Sheets(foglio).Cells(i.Row, colonna).Height
            Selection.Width = var_Width
            Selection.Height = var_Height
            
            'Aggiungo Hyperlink alla foto
            Sheets(foglio).Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:="\\luxedge1\LuxPicsCache\parts\wip\default\warn\0" & _
             Mid(i.Value, 2, 2) & "\AUTO_600_600\" & nomefile & ".JPG"
    
NextPictures:
        Next i

    'Posiziono il cursore in testa al foglio
    ActiveSheet.Range("a1").Select
Next e

'Torno nel foglio principale e avviso che il caricamento è terminato
Sheets("Aggiorna").Select
MsgBox ("Caricamento foto terminato!"), vbInformation

Fine_aggiornamento:
Exit Sub

PictureNotAvailable:
    ActiveSheet.Cells(i.Row, colonna).Value = "N.A."
    GoTo NextPictures

End Sub