Risultati da 1 a 20 di 20

Discussione: Caselle di controllo



  1. #1
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0

    Caselle di controllo

    Salve a tutti.
    Scrivo per chiedervi di aiutarmi a risolvere un intoppo con le caselle di controllo di Excel.
    In quindici celle consecutive di una medesima riga ho inserito altrettante caselle di controllo collegando ciascuna di esse alla cella che la precede, ottenendo così che in ciascuna di queste ultime appare VERO se la casella di controllo alla sua destra è spuntata, FALSO in caso contrario.
    In ciascuna delle celle alla destra di quelle contenenti le caselle di controllo ho inserito una formula che mi restituisce la data e l’ora del giorno in cui clicco sulla casella di controllo alla loro sinistra SE(NUM(H6)=1;ADESSO()).
    Ogni qualvolta clicco su una delle caselle di controllo Excel mi ricalcola le formule in tutte le celle alla destra di quelle contenenti le caselle; il risultato è che se ieri ho spuntato una casella di controllo, nella cella alla sua destra mi appare la data e l’ora in cui ho eseguito l’operazione, se poi oggi vado a cliccare su una qualsiasi delle caselle presenti nel foglio di lavoro, sia nella celle alla destra di quest’ultima che in quella alla destra di quella spuntata ieri mi compare la data e l’ora della nuova operazione con conseguente cancellazione della data e ora ottenuta con l’operazione di precedente.
    Come posso fare per evitare quanto innanzi e cioè che ogni qualvolta clicco su una casella di controllo non sia ricalcolata la formula alla destra di una casella già spuntata in precedenza.
    Confido in un vostro supporto.
    Saluti

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Ciao, sarebbe meglio allegare un file di esempio, così sarà più facile capire qual è il problema.

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Da quel che ho capito lamenti il problema che si aggiorna ma non può essere che così perché la formula ADESSO si aggiorna tutte le volte.
    Se è così come ho capito puoi risolvere solo con una macro.

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Credo di aver capito, ma puoi farlo solo con VBA, con le formule ti verrà sempre aggiornata l'ora dell'ultima operazione....
    Allega il file per vedere come è strutturato.

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  5. #5
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0
    Ok.

    Le caselle di controllo cui mi riferisco sono quelle nelle celle da J6 a J25.

    .... se spunti la casella J6 nella cella alla destra compare l'ora dell'operazione; se poi (trascorso qualche minuto) spunti una qualsiasi delle caselle dalla j7 alla j25 il nuovo orario comparirà non solo nella cella alla destra della casella appena spuntata ma anche nella cella alla destra della casella spuntata in precedenza, cancellando in quest'ultima l'ora della prima operazione.

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Ho visto.
    E' corretto che sia così perché - come ho scritto sopra - la formula ADESSO restituisce il numero seriale della data e dell'ora correnti. Pertanto, quando spunti la casella la formula ti da l'ora e la data corrente, nel momento in cui spunti l'altra casella è come se stesse dando un refresh a excel che oltre a calcolare la data e l'ora dell'ultima formula ricalcola il risultato della prima.
    In sostanza se vuoi che la data e l'ora inseriti rimangano tali, non c'è modo per ottenere quello che vuoi con le formule ti devi "rassegnare" al codice VBA.

  7. #7
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0
    Purtroppo non conosco il codice VBA.

    Potresti aiutarmi ...

  8. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    @ges
    rileggendo, ho visto che avevi scritto la mia stessa cosa (2 minuti prima)... pardon, non avevo visto :161:

    @and.vall
    ho visto che hai usato "caselle di controllo" del "controlli modulo".... per quello che ti serve (l'orario/data) credo che tu debba usare le "caselle di controllo" prese da "controlli ActiveX", in modo da associare una macro (come evento click) ad ogni checkbox.
    Proverò a cercare un alternativa con quelle che hai già sistemato ma non sono tanto ottimista.
    In ogni caso, è meglio se questa domanda venisse spostata nella sezione VBA dove ci sono persone sicuramente più preparate di me sull'argomento.

    Mi informo per lo spostamento....
    Ultima modifica fatta da:cromagno; 11/09/15 alle 13:15

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  9. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    @cromagno
    ma figurati, nessun problema ... è capitato tante volte anche a me.:286:

    @and.vall
    purtroppo neanche io so aiutarti col vba ... passo la mano agli esperti.

  10. #10

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Un "accrocchio" lasciando i checkbox usati da te non l'ho trovato....

    Comunque, utilizzando i controlli "ActiveX" come ti dicevo prima, viene come nell'allegato che puoi scaricare da qui (ho messo solo 4 checkbox nella colonna riguardante "Martedì").....:
    http://dropcanvas.com/od4ta

    Il codice per ogni checkbox è questo:

    Codice: 
    Private Sub CheckBox1_Click()
        If CheckBox1.Value = True Then
            Range("Q6").Value = Format(Time, "hh:mm")
            Range("O6").Value = True
        Else
            Range("Q").Value = ""
            Range("O6").Value = False
        End If
    End Sub

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  11. #11
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0
    Grazie mille ...

    Sebbene non abbia mai usato i controlli "ActiveX", visto che con questi riesco ad ottenere quello che mi serve, proverò ad usarli seguendo il tuo modello!!!
    Saluti

  12. #12

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Nel codice postato prima c'è un errore (nel file dovrebbe essere a posto) a questa riga (mancava il "6"):
    Codice: 
    Range("Q6").Value = ""
    P.S.
    Se la tua domanda è stata risolta segna questa discussione come [RISOLTO]
    Nella barra dei menu, situata all’inizio di questa discussione, troverai il menu “Strumenti Discussione” quindi scegliere “Segna questo Thread come risolto”...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  13. #13
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Chiedo scusa dell'intromissione ma credo di aver capito che il file serve a segnare le presenze di varie persone; e fin qui ci siamo
    nell'esempio "prova" che and.Vall ha allegato si evince che gli impiegati lavorano una settimana al mese (o no!) perchè al cambio del mese il numero della settimana scatta avanti di 4 o 5 a seconda del numero di settimane nel mese.
    E' giusto tutto ciò?
    Richiedo ancora scusa per l'intromissione.

    ciao

    P.S.
    Il codice di Cromagno è perfetto e a questo punto si potrebbero togliere anche le colonne "vero" "falso" perchè non hanno più modo di esistere

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  14. #14

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Ciao Baloon
    anzi, speravo che rispondesse qualcuno che il VBA lo conosce veramente per sapere se effettivamente esiste un'altro modo (senza usare i checkbox dei controlli ActiveX), perchè io non ci sono riuscito :292:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  15. #15
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3340
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da cromagno Visualizza Messaggio
    Ciao Baloon
    anzi, speravo che rispondesse qualcuno che il VBA lo conosce veramente per sapere se effettivamente esiste un'altro modo (senza usare i checkbox dei controlli ActiveX), perchè io non ci sono riuscito :292:
    Sinceramente non ci ho neanche pensato ad un'alternativa. Adesso provo a vedere se riesco a trovarla. :250:
    Ma non mi faccio illusioni perchè comunque deve verificarsi un evento per poter inserire il dato
    Ultima modifica fatta da:Baloon_50; 12/09/15 alle 13:23

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  16. I seguenti utenti hanno dato un "Like"


  17. #16

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Esatto....
    l'unico evento col quale ho avuto qualche risultato (non gradito perchè andava in "loop") è stato "Calculate". :240:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  18. #17
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0
    Ho cominciato ad usare i controlli "ActiveX" ...
    Ho provato ad inserire un CommandButton al posto del CheckBox, sostituendo in Vba


    Private Sub CheckBox5_Click()
    If CheckBox5.Value = True Then
    ...

    con

    Private Sub CommandButton1_Click()
    If CommandButton1.Value = True Then
    ...

    senza però ottenere il risultato desiderato!!

    Potreste aiutarmi a capire perché non va ...

    Grazie!!

  19. #18

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Buongiorno and.vall
    si dovrebbe avere davanti il file per capire il problema (anche perchè non hai specificato che "problema" hai riscontrato rispetto al file che ti ho allegato...).

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  20. #19
    L'avatar di and.vall
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cimitile
    Messaggi
    6
    Versione Office
    2013
    Likes ricevuti
    0
    Likes dati
    0
    Ok
    ti allego il file con la modifica di cui in precedenza.

    Colgo l'occasione per porgerti un'ulteriore quesito e cioè:
    proteggendo il foglio di lavoro avendo bloccato le celle in cui va scritto l'orario, ad ogni clic su uno dei controlli appare un messaggio di errore.
    La mia domanda è come si può fare per consentire la scrittura dell'orario a seguito del clic ed evitare la cancellazione dello stesso con foglio protetto?


    Grazie ... sempre!!
    Ultima modifica fatta da:Gerardo Zuccalà; 14/09/15 alle 11:14 Motivo: Allegato visualizzato male

  21. #20

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Il CommandButton non ha la condizione VERO/FALSO come la casella di controllo (VERO = spuntata, FALSO = senza spunta), quindi una volta cliccato gli devi dire cosa controllare e a seconda di quello che trova... agire di conseguenza.
    In questo caso, al click gli faccio controllare se la cella dove deve esser messo l'orario è vuota oppure no.
    Se è vuota allora mi scrive l'orario in una cella (Q9 nel tuo file) e nell'altra (O9) mi mette la condizione "VERO".
    In caso contrario, mi cancella il contenuto di Q9 e mi mette la condizione "FALSO" nella O9.

    Per la protezione:
    all'inizio del codice scrivi
    Unprotect

    e prima che finisca il codice metti
    Protect

    Non è necessario dire a che foglio togliere e mettere la protezione in quanto il codice è già collegato al Foglio1.

    Se ci fosse realmente una password, ad esempio "miapassword", scriveresti:

    Unprotect "miapassword"
    .........
    Protect "miapassword"

    Quindi il codice per il CommandButton sarebbe questo:
    Codice: 
    Private Sub CommandButton1_Click()
    Unprotect
        If Range("Q9").Value = "" Then
            Range("Q9").Value = Format(Time, "hh:mm")
            Range("O9").Value = True
        Else
            Range("Q9").Value = ""
            Range("O9").Value = False
        End If
    Protect
    End Sub
    Ti riallego il file....

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

Discussioni Simili

  1. Estendere caselle di controllo a più celle automaticamente
    Di Trial4life nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 15/11/16, 02:05
  2. [Risolto] conta caselle
    Di peppe1 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 16/10/16, 10:15
  3. Controllo moduli - casella di controllo
    Di CRISTIAN nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 03/05/16, 22:55
  4. Pulsanti di opzione e caselle di controllo
    Di Theinvoker nel forum Domande su Excel VBA e MACRO
    Risposte: 21
    Ultimo Messaggio: 20/02/16, 10:24
  5. caselle controllo e button ragruppati e scorrevoli su foglio
    Di zio_tom nel forum Domande su Excel VBA e MACRO
    Risposte: 13
    Ultimo Messaggio: 21/11/15, 10:10

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •