Damanda:
devo associare la foto in formato jpg di una regione italiana quando nella descrizione di un vino compare il nome di quella regione.
naturalmente ci sono 20 regioni + alcune nazioni x i vini esteri e le immagini devono comparire iu una cella con il risultato di un cerca verticale
Risposta:
Abbiamo ricevuto diverse richieste riguardanti questo argomento.
Vediamo una possibile soluzione.
PASSO 1: inserire nel foglio un oggetto “Immagine”
Per farlo bisogna cliccare sul tab “Sviluppo” (Developer) , menù “Inserisci”, tra gli oggetti “Active X” selezionare l’icona “Immagine”, trascianarla nel foglio e dimensionarla a piacere.
Dopo essersi assicurati di essere in modalità Design, clicchiamo con il tasto destro sull’oggetto Immagine e quindi su proprietà.
Nella proprietà “Nome” appare il nome di default assegnato da Excel all’immagine,
se volete potete modificarlo ma vi consiglio in ogni caso di farlo in questo modo “Immagine_NomeAvostraScelta”.
Vi sarà più semplice capire nel codice che tipo di oggetto state trattando.
Impostate la propietà “PictureSizeMode” come “fmPictureSizeModeZoom”. In questo modo Excel provvederà a dimensionare automaticamente la dimensione della foto in base alla grandezza dell’oggetto Immagine.
PASSO2: creare una cartella dove depositare le fotografie
Nella cartella che contiene il file, ho creato una sottocartella chiamata “Fotografie”
e dentro di essa ho salvato le fotografie da caricare in formato “.jpg”.
Per impostare un percorso diverso, bisogna modificare l’istruzione
PercorsoCartellaFotografie = ThisWorkbook.Path & "\Fotografie"
PASSO 3: determinare quando far apparire la fotografia
Nel file d’esempio ho utilizzato l’evento “SelectionChange” del foglio “ARCHIVIO”
che permette di eseguire una macro ogni qualvolta viene selezionata una cella del foglio.
Il codice per caricare la fotografia dell’oggetto immagine è il seguente:
Sheet1.Image1.Picture = LoadPicture(PercorsoCartellaFotografie & "\" & Sheet1.Cells(ActiveCell.Row, 2) & ".jpg")
Selezionado il vino “Negramaro” la macro assegna:
– alla variabile “ActiveCell.Row” il valore 2,il numero della riga selezionata
– alla variabile “Sheet1.Cells(ActiveCell.Row, 2)” il valore della riga 2 colonna 2, “PUGLIA”
Posto di aver salvato la fotografia chiamata “PUGLIA.jpg”, la macro la caricherà nell’oggetto Immagine.
Nel file d’esempio ho creato anche un foglio “FATTURA” con il codice precedente lanciato dall’evento “Calculate” quando si seleziona un vino dal menù a tendina che ho inserito nella cella B5.
Quando la si seleziona, la funzione Cerca.Vert (VlookUp) dentro la cella B8 restiuisce la regione d’appartenza che è presa per alimentare il valore del percorso della fotografia.
A voi il file:
APRI
Riccardo Vincenti
Riccardo Vincenti
Ultimi post di Riccardo Vincenti (vedi tutti)
- 073. Duplicare righe excel modificando il contenuto - 6 Ottobre 2017
- 072. Estrazione numeri casuali - 6 Ottobre 2017
- 071. Estrazione casuale valori da un elenco - 5 Ottobre 2017
- 070. Contare dati univoci senza Pivot - 21 Settembre 2017
- 069. Aggiungere intervalli ad una data: Date Add in Excel - 21 Settembre 2017