Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL] Casella di selezione

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[EXCEL] Casella di selezione

Postdi paaz » 27/04/11 15:16

Ciao a tutti,
qualcuno di voi saprebbe come risolvere questo mio dilemma....in pratica nel file excel che sto lavorando ho inserito una casella di selezione. A questo punto vorrei che in "formato controllo/controllo/valore massimo" della casella di selezione potessi scegliere una cella anzichè un numero predefinito.

Grazie
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Sponsor
 

Re: [EXCEL] Casella di selezione

Postdi Anthony47 » 27/04/11 23:50

Registra una macro mentre:
-selezioni la tua casella di selezione
-tramite Tasto-dx e Formato controllo assegni 111 al Valore massimo
-interrompi la registrazione

Nella macro prodotta elimina la riga ".Value = xyz", poi sostituisci la riga ".Max = 111" con
Codice: Seleziona tutto
.Max = Range("$E$1").Value   '<<< La cella che vuoi usare


Poi tasto dx sul tab col nome del foglio su cui giace la casella di selezione, scegli Visualizza codice, e incolla questa macro nel frame di dx:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$1" Then Exit Sub   '<<< La cella che vuoi usare
Call Macro1   '<<< Il nome della macro registrata
Target.Select
End Sub

Adatta le istruzioni marcate <<< per puntare alla cella che vuoi usare.

In questo modo tutte le volte che modifichi manualmente la cella E1 il suo valore viene impostato come max della casella di selezione. 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 sono necessari alcuni piccoli adattamenti; se non riesci posta ancora.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] Casella di selezione

Postdi paaz » 28/04/11 13:53

Era proprio quello cercavo...

Grazie mille Anthony, grandioso come sempre
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [EXCEL] Casella di selezione

Postdi paaz » 29/04/11 15:01

Ciao Anthony, in effetti la "mia cella E1" dove effettuare il controllo, deriva da un calcolo. Ho provato ugualmente con quanto mi hai indicato ma quando si aggiorna il valore, il valore massimo non viene aggiornato ma rimane fisso al primo calcolo. Quindi avrò cella E1=40 valore massimo della casella 39.

Help
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [EXCEL] Casella di selezione

Postdi paaz » 29/04/11 15:28

Ho provato ad aggiungere nella macro la formula del calcolo della cella:

Sub ControlloData()
'
' Test Macro
' Macro registrata il 28/04/2011 da utente
'

Range("AE7").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-1],"">0"")"
ActiveSheet.Shapes("Spinner 472").Select
With Selection
.Value = 10
.Min = 1
.Max = Range("$AE$7").Value
.SmallChange = 1
.LinkedCell = "$AE$5"
.Display3DShading = True
End With
End Sub

Poi, nel foglio di lavoro ho inserito il codice che mi hai scritto:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$AE$7" Then Exit Sub
Call ControlloData
Target.Select
End Sub



Se lancio la macro manualmente, si aggiorna tutto, altrimenti automaticamente rimane il vecchio valore
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [EXCEL] Casella di selezione

Postdi ricky53 » 29/04/11 15:55

Ciao,
rileggi quello che ti aveva scritto Anthony:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$1" Then Exit Sub   '<<< La cella che vuoi usare
Call Macro1   '<<< Il nome della macro registrata
Target.Select
End Sub


e modifica il nome "Macro1" inserendo il nome della tua macro "ControlloData"

La tua cella è "E1" oppure ... ???

il foglio è quello sul quale operi e sul quale hai inserito il codice nell'evento "Worksheet_Change" ?

In caso invia un file di esempio.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [EXCEL] Casella di selezione

Postdi Anthony47 » 30/04/11 00:32

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
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] Casella di selezione

Postdi paaz » 02/05/11 10:50

Ciao ricky, ho cambiato sia il nome della macro sia la cella di riferimento secondo le mie esigenze; in effetti non funaionava perchè come limite massimo non dava una formula bensì un valore...
ora provo con la nuova soluzione suggerita da anthony. vi terrò aggiornati.

Grazie
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24

Re: [EXCEL] Casella di selezione

Postdi paaz » 02/05/11 12:21

Ci siamo,la nuova soluzione funziona alla grande...grazie Anhony
paaz
Utente Junior
 
Post: 30
Iscritto il: 22/04/11 14:24


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Casella di selezione":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti