Anthony ha scritto:Se E1 e' calcolato, allora la cosa piu' semplice e' che invece della macro di Worksheet_Change ti inserisci in una macro di Worksheet_Change, ma . . .
Ovviamente pensavo una cosa e ne scrivevo un' altra... e non era nemmeno molto tardi. In particolare avrei dovuto scrivere di usare una macro Worksheet_Calculate.
Questo pero' presuppone di memorizzare in una variabile definita con Area di validita' Public il valore della cella di riferimento, e richiamare Macro1 (o come si chiama la macro registrata e poi modificata) se il nuovo valore e' diverso da quello memorizzato.
Considerando questa complicazione, probabilmente il modo piu' diretto di risolvere la cosa e' una nuova macro da "assegnare" alla casella di selezione.
Quindi:
-cancella la macro di Worksheet_Change
-inserisci in Modulo1 questa macro
- Codice: Seleziona tutto
Sub Casel()
ActiveSheet.Shapes("Spinner 1").ControlFormat.Max = Range("E1").Value '<<< NB
End Sub
NB: Il nome della casella di selezione, da usare nell' istruzione marcata <<<, lo trovi nella Macro1 che avevi registrato.
-puoi cancellare Macro1
Poi selezioni la casella di controllo, tasto dx, Assegna macro, selezioni Casel dall' elenco, Ok.
In questo modo ridimensioni la casella di controllo tutte le volte che la usi.
Ciao