ho nuovamente bisogno del vostro aiuto per risolvere alcuni problemi riguardo il progetto che vi illustro.
in un foglio excel ho inserito una form contenenti dei pulsanti, come vi mostro nella immagine;
cliccando una volta su uno dei pulsanti da 1 a 20 questo cambia colore da verde a rosso;
cliccando nuovamente sullo stesso pulsante il colore ritorna quello di default, verde.
con il pulsante azzera si può attribuire il colore verde di default contemporaneamente a tutti quei pulsanti che hanno il colore rosso;
per questo ho realizzato questa semplice macro:
- Codice: Seleziona tutto
Private Sub AZZERA_Click()
NUMERO_1.BackColor = vbGreen
NUMERO_2.BackColor = vbGreen
NUMERO_3.BackColor = vbGreen
--------------------------------------
NUMERO_19.BackColor = vbGreen
NUMERO_20.BackColor = vbGreen
End Sub
nella quale si ripete 20 volte la stessa linea di codice;
è possibile ottenere lo stesso risultato con una macro più elegante e concisa?
secondo problema:
cliccando un pulsante sulla form,immagine precedente, ad esempio il numero 1, vorrei che la macro evidenziasse in qualche modo, colorando la cella o il font, il numero corrispondente nel range B3:K... dove si trovano i valori, come da immagine successiva
la macro però deve evidenziare, nelle colonne B-k, i numeri scelti sul form solo se tutti questi numeri sono presenti su una stessa riga del range B3:K...;
così ad esempio la riga 3, numeri gialli non deve essere evidenziata, mancando il numero 9 scelto sul form;
così anche le altre righe gialle, mancando altri numeri;
mentre le celle da evidenziare sono quelle della riga 5 in cui sono presenti tutti i numeri scelti sul form.
i valori sono disposti nelle colonne da B a K a partire dalla cella B3;
mentre le righe aumentano ogni volta che si aggiorna il file.
questa ultima macro è molto complessa per le mie conoscenze del vba;
vi ringrazio anticipatamente per i vostri contributi.
saluti
p.s. uso excel 2003