Non perdere il messaggio di Ricky e il suo file di esempio, sopra.
Per cancellare in modo piu' affidabile le immagini quando cambi il contenuto delle celle A2-A3-A4 suggerisco questa variante alla macro di Ricky:
- Codice: Seleziona tutto
Sub Worksheet_Change(ByVal Target As Range)
Dim mPath As String, mFoto As String, myArea As String, Cella As Range
'
myArea = "A2:A4" '<< Le celle dove potrai scrivere nomi immagini
'
If Application.Intersect(Range(myArea), Target) Is Nothing Then Exit Sub
'
For Each Cella In Target
On Error Resume Next
ActiveSheet.Shapes("FOTO_DA_" & Cella.Address(0, 0)).Delete
On Error GoTo 0
If Cella.Value <> "" Then
mPath = "C:\PROVA" ' <<===== QUI scrivi il percorso ove hai le tue foto
mFoto = Cella.Value
If Dir(mPath & "\" & mFoto & ".jpg") <> "" Then ' Si controlla se la foto esiste
Application.ScreenUpdating = False
With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
.Top = Cella.Offset(0, 1).Top + 5
.Left = Cella.Offset(0, 1).Left + 5
.Height = Cella.Offset(0, 1).Height - 10
.Width = Cella.Offset(0, 1).Width - 10
.Name = "FOTO_DA_" & Cella.Address(0, 0)
End With
Application.ScreenUpdating = True
Else
MsgBox ("Immagine non trovata: " & Cella.Value) ' <<====== QUI scrivi il messaggio che vuoi sia inviato
End If
End If
Next Cella
End Sub
Procedi in questo modo:
-tasto dx sul tab col nome del foglio su cui devi inserire le immagini
-scegli Visualizza codice
-ti si apre l' editor delle macro sul modulo del codice associato a quel foglio; il codice va inserito nel frame di destra, eliminando una eventuale altra macro di tipo Worksheet_Change gia' presente.
-Personalizza le istruzioni marcate <<
Poi torna sul foglio di lavoro, cancella manualmente tutte le immagini inappropriate (comprese quelle eventualmente inserite tramite la macro nella versione precedente), scrivi il nome immagine in una cella nell' intervallo A2:A4 e verifica che l' immagine sia inserita nella colonna adiacente.
Quando inserisci un nuovo nome l' immagine cambia; quando cancelli il contenuto delle celle l' immagine viene cancellata; quando inserisci un nome immagine inesistente esce un messaggio.
Non ho capito se per caso vorresti che venga visualizzata solo l' ultima immagine digitata; in questo caso faremo una piccola modifica.
Ciao