PDA

View Full Version : Ciclo per attivare componenti di una Form


Dr.Grass
31-08-2016, 08:59
Ciao a tutti,
sono nuovo del forum e spero di postare nel posto giusto!
Ho la necessità di attivare la visibilità di alcune immagini all'interno di una form (Ambiente Excel VBA).
Le immagini le ho chiamate Img1, Img2, Img3 e così via..
Esiste una variabile per cambiare il nome dell'immagine da impostare in un cilo for?

Cioè vorrei fare una cosa del genere:

For r = 1 to i

UserForm1.Variabile.Visible = True

Next

Al momento ho risolto con una serie di If:

If r > 0 then

Img1.Visible = True

End If

ecc. ecc.

Però non mi piace molto, anche perchè le immagini da attivare sono una quarantina...

Grazie in anticipo a chiunque mi risponda.

Alessandro

wingman87
01-09-2016, 07:50
Ciao, non sono pratico di VBScript, però in genere per risolvere questo tipo di problemi mi costruisco un array con gli oggetti che mi interessano e poi indicizzo i vari elementi con un contatore.
In pseudo-VbScript:

dim images = Array( Img1, Img2, Img3 )

For i = 0 to ubound(images)
If r > i then

images(i).Visible = True

End If
Next

Ho supposto che le condizioni dipendessero dall'indice ma se sono valori slegati tra loro puoi usare un secondo array con i valori:

dim images = Array( Img1, Img2, Img3 )
dim conditions = Array( 0, 13, 7)

For i=0 to ubound(images)
If r > conditions(i) then

images(i).Visible = True

End If
Next

Dr.Grass
01-09-2016, 18:48
Grazie mille!!!
Domani ci provo e ti dico
Grazie ancora


Inviato dal mio iPhone utilizzando Tapatalk