Option Explicit
'dichiaro vle variabili
'visibili da tutta la UserForm
Dim wk As Workbook
Dim sh As Worksheet
Dim sp As Shape
'evento scatenato all'avvio della UserForm
Private Sub UserForm_Initialize()
'metto un riferimento al workbook
'che contiene il codice
Set wk = ThisWorkbook
'metto un riferimento al foglio
'che contiene le immagini
'(qui Foglio1)
With wk
Set sh = .Worksheets("Sheet1")
End With
'metto i nomi delle mie immagini
'nella ComboBox
With Me.ComboBox1
For Each sp In sh.Shapes
.AddItem sp.Name
Next
End With
End Sub
Private Sub ComboBox1_Click()
With sh
'ciclo le immagini
For Each sp In .Shapes
sp.Visible = True
'nascondo le immagini con il nome
'diverso da quell selezionato nella ComboBox
If sp.Name <> Me.ComboBox1.Text Then
sp.Visible = False
Else
'visualizzo quella con il
'nome uguale a quello selezionato
'nella ComboBox
sp.Visible = True
End If
Next
End With
End Sub |