Certo Antony.
Allora:
L'intento è di fare un cerca verticale sulle immagini.
Ho fatto una ricerca nel forum ed ho trovato questa pagina che mi è servita tantissimo tanto che sono riuscito a sfruttare appieno i tuoi consigli.
I metodi proposti erano due ma ho trovato più confacenti al mio caso i consigli da te proposti.
Quindi come da te a suo tempo suggerito, nel foglio1 ho inserito la tabella input. In pratica in A1 ed A2 ho messo il NOME delle immagini (in verità ho messo due numeri ... 1 e 2 )ed in B1 e B2 le IMMAGINI corrispondenti.
Nel foglio2 invece ho:
in F1 inserito la seguente formula
- Codice: Seleziona tutto
=CONFRONTA(A2;Foglio1!A:A;0)
e dopo aver fatto tasto destro su Foglio2 (in visualizza codice) ho inserito la seguente macro
- Codice: Seleziona tutto
Sub ImmAle()
'
FoglioTab = "Foglio1" '<< Inserire Nome corretto del foglio Dati
FoglioOut = "Foglio2" '<< Inserire Nome corretto del foglio di out
CellaPos = "F1" '<< Inserire indirizzo cella con CONFRONTA
'
'Cancella le immagini presenti sul foglio di output
Application.EnableEvents = False
Sheets(FoglioOut).Activate
For Each Pict In ActiveSheet.Shapes
Pict.Delete
Next Pict
'
'Cerca l’ immagine ….
RigaNum = Range("F1").Value
Sheets(FoglioTab).Activate
CurPos = Range("B" & RigaNum).Address
For Each Pict In ActiveSheet.Shapes
If Pict.TopLeftCell.Address = CurPos Then
NomeImm = Pict.Name: Exit For
End If
Next Pict
' …. e copiala su foglio di output
Sheets(FoglioOut).Activate
If NomeImm = "" Then
MsgBox ("Nessuna Immagine corrisponde")
GoTo Uscita
End If
Sheets(FoglioTab).Shapes(NomeImm).Copy
Range("B2").Select '<< Inserire Cella dove si vuole piazzare l’ immagine
ActiveSheet.Paste
Uscita:
Application.EnableEvents = True
End Sub
Dopo di che tutto funziona perfettamente.
Quando nel Foglio2 cella A2 inserisco 1 o 2, nel Foglio2 della cella B2 compare l'immagine corrispondente.
Fin qui tutto OK.
Quello che però vorrei evitare è il debug che si presenta nel caso in cui nel Foglio2 cella A2 inserisco per errore un NOME che non è presente nel foglio di input.
In poche parole se sbaglio ad inserire il NOME (1 o 2) da ricercare (inserendo per esempio 3), come faccio ad evitare il debug?
Spero di essere stato chiaro.
Salutoni