Re: Re: Re: Re:
Alex.Osnaghi, 22/01/2013 10:32:
mettiamo che devo prendere il riferimento nella cella A1 e l'immagine va nella cella B1!!
Ciao Alex.
Prova a fare così.
Dal tuo foglio di lavoro vai su inserisci----> immagine.
Scegli l'immagine che vuoi e piazzala su B1.
Nel riquadro in alto a sx, dove ora dovrebbe esserci scritto "immagine 1" (o altro numero), cancella e scrivi "foto1".
Fai la stessa cosa per la seconda immagine.
inserisci l'altra immagine e piazza anch'essa su b1.
Nel riquadro in alto a sx, dove ora dovrebbe esserci scritto "immagine 1" (o altro numero), cancella e scrivi "foto2".
Ora vai nel corrispondente foglio vba (ALT + F11).
Riporta questa macro:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("foglio1").Pictures("foto1").Visible = False
Sheets("foglio1").Pictures("foto2").Visible = False
If ActiveSheet.Range("a1") = 1 Then
Sheets("foglio1").Pictures("foto1").Visible = True
With Pictures("foto1")
.ShapeRange.LockAspectRatio = msoFalse
.Height = 100
.Width = 100
End With
End If
If ActiveSheet.Range("a1") = 2 Then
Sheets("foglio1").Pictures("foto2").Visible = True
With Pictures("foto2")
.ShapeRange.LockAspectRatio = msoFalse
.Height = 100
.Width = 100
End With
End If
End Sub
Ora,
nell'elenco a discesa che dovresti avere (rispetto al foglio vba aperto) a sinistra in alto, clicca due volte sul "thisworkbook".
Dovrebbe aprirsi un foglio bianco al posto del precedente foglio vba contenente la macro.
In questo foglio bianco incolla questo comando:
Private Sub Workbook_Open()
Sheets("foglio1").Pictures("foto1").Visible = False
Sheets("foglio1").Pictures("foto2").Visible = False
End Sub
E questo è quanto.
Spiegazione:
il comando nel foglio thisworkbook fa in modo che, all'apertura del file, le immagini vengano nascoste.
L'altra macro, invece, dovrebbe fare quello che chiedi.
Se in A1 viene scritto 1, allora appare l'immagine 1.
Se in A1 viene scritto 2, allora appare l'immagine 2.
Fai sapere