Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Flaggare check box da VBA ad EXCEL

  1. #1
    L'avatar di 6vior
    6vior non è in linea Scolaretto
    Post
    99
    Like Inviati  
    1
    Like Ricevuti  
    0
    Buongiorno a tutti, ho creato una userform con all'interno delle checkbox, mi potreste aiutare a fare in modo che quando le checkbox vengono flaggate in automatico vadano a mettere la spunta anche in alcune checkbox presenti in un foglio Excel.
    Grazie.

  2. #2
    Sgrubak non è in linea Scribacchino
    Post
    523
    Like Inviati  
    9
    Like Ricevuti  
    2
    Devi usare l'evento Change della CheckBox.

  3. #3
    L'avatar di 6vior
    6vior non è in linea Scolaretto
    Post
    99
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da Sgrubak Visualizza il messaggio
    Devi usare l'evento Change della CheckBox.
    e come si potrebbe scrivere, nella checkbox nella userform o in quella nel foglio Excel,

  4. #4
    GiuseppeMN non è in linea Scribacchino
    Post
    786
    Like Inviati  
    0
    Like Ricevuti  
    1
    Buona giornata @6vior;
    preliminarmente consentimi un saluto a @Sgrubak.

    Fatto ciò personalmente opererei in questo modo:
    - Foglio di lavoro Excel, supponiamo di avere tre CheckBox
    - Nelle proprietà di ogni CheckBox indico la Cella di riferimento (LinkedCell)
    - In UserForm propongo tre CheckBox
    - Per ogni CheckBox definisco CheckBox_Click
    - In CheckBox_Click definisco una Condizione If Then Else nella quale, in base al risultato, vado ad asseganre alla Cella di riferimento il Valore "TRUE" o "FALSE"

    Fai sapere se sono riuscito a spiegare compiutamente il mio pensiero.


    A disposizione.

    Giuseppe

  5. #5
    GiuseppeMN non è in linea Scribacchino
    Post
    786
    Like Inviati  
    0
    Like Ricevuti  
    1
    Temo di non essermi espresso correttamente, quando dichiaro:
    - Per ogni CheckBox definisco CheckBox_Click
    - In CheckBox_Click definisco una Condizione If Then Else nella quale, in base al risultato, vado ad asseganre alla Cella di riferimento il Valore "TRUE" o "FALSE"
    Voglio dire che nelle proprietà di ogni CheckBox in "ControlSource" dichiaro la Cella di riferimento; in questo modo ottengo quqnto dichiarato in precedenza.

    Con l'auspicio di aver chiarito meglio il mio pensiero, rimango a disposizione.


    Giuseppe

  6. #6
    L'avatar di 6vior
    6vior non è in linea Scolaretto
    Post
    99
    Like Inviati  
    1
    Like Ricevuti  
    0
    Ciao, grazie per la spiegazione, ti sei spiegato molto bene e credo di aver capito, ho fatto il collegamento (linked cell) ad una cella il problema e che non riesco a far funzionare la funzione IF THEN ELSE, purtroppo sono ancora alle prime armi.

  7. #7
    Sgrubak non è in linea Scribacchino
    Post
    523
    Like Inviati  
    9
    Like Ricevuti  
    2
    Quote Originariamente inviato da GiuseppeMN Visualizza il messaggio
    - Per ogni CheckBox definisco CheckBox_Click
    - In CheckBox_Click definisco una Condizione If Then Else nella quale, in base al risultato, vado ad asseganre alla Cella di riferimento il Valore "TRUE" o "FALSE"
    Voglio dire che nelle proprietà di ogni CheckBox in "ControlSource" dichiaro la Cella di riferimento; in questo modo ottengo quqnto dichiarato in precedenza.
    Ciao Giuseppe!

    Io userei il Change in luogo del Click. Se il suo intento è sviluppare un collegamento tra le due CheckBox, il Click potrebbe non essere sufficiente. Nel caso in cui modifichi lo stato da codice con un semplice [CheckBox1.Value = True] il Click non avviene e quindi nemmeno il passaggio alla CheckBox dipendente. Ovviamente se il collegamento deve essere bidirezionale, allora serviranno altre accortezze in più.

    Non metterei nemmeno l'IF, ma riporterei direttamente il valore (ma questo solo per pigrizia nel pigiare i tasti scrivendo istruzioni ).

    In definitiva, tenendo valida l'associazione tra una cella e una CheckBox sul foglio:
    Private Sub CheckBox1_Change()
        CellaDiDestinazione.Value = CheckBox1.Value
    End Sub
    
    EDIT: Scherzavo... Funziona uguale sia con Click che con Change... Ho fatto qualche test e qualche ricerca, ma non capisco allora la differenza tra i due eventi...
    Ultima modifica di Sgrubak; 19-11-2020 14:43 

  8. #8
    GiuseppeMN non è in linea Scribacchino
    Post
    786
    Like Inviati  
    0
    Like Ricevuti  
    1
    Buona sera a Tutti;
    riesco a collegarmi solo ora.

    Il mio timore di aver creato confusione era reale.

    Voglio dire non è necessario nessun evento, basta impostare le proprietà in modo opportuno.
    - Foglio di lavoro Excel, supponiamo di avere tre CheckBox
    - Nelle proprietà di ogni CheckBox indico la Cella di riferimento in LinkedCell
    Esempio Foglio di lavoro Excel nelle Proprieta di ogni CheckBox:
    - CheckBox1 Cella LinkedCell "B2"
    - CheckBox2 Cella LinkedCell "B5"
    - CheckBox3 Cella LinkedCell "B9"

    - In UserForm propongo tre CheckBox
    - Nelle proprietà di ogni CheckBox indico la Cella di riferimento in ControlSource
    Esempio UserForm nelle Proprieta di ogni CheckBox:
    - CheckBox1 Cella ControlSource "B2"
    - CheckBox2 Cella ControlSource "B5"
    - CheckBox3 Cella ControlSource "B9"

    In questo modo, modificando lo stato dei CheckBox definiti in UserForm dovrei ottenere il risultato desiderato nel Foglio di lavoro in Excel.


    Rimango a disposizione per eventuali ulteriori chiarimenti.

    Giuseppe

  9. #9
    GiuseppeMN non è in linea Scribacchino
    Post
    786
    Like Inviati  
    0
    Like Ricevuti  
    1
    Buona sera, @Sgrubak.

    @Sgrubak scrive:
    ... Funziona uguale sia con Click che con Change... Ho fatto qualche test e qualche ricerca, ma non capisco allora la differenza tra i due eventi.
    In questo caso specifico direi che la differenza non si nota in quanto il Click cambia lo stato del CheckBox.
    Voglio dire, ad ogni Click corrisponde un Change dello stato del CheckBox; questa è la mia personale interpretazione dei due Eventi.


    Giuseppe

  10. #10
    Sgrubak non è in linea Scribacchino
    Post
    523
    Like Inviati  
    9
    Like Ricevuti  
    2
    Quote Originariamente inviato da GiuseppeMN Visualizza il messaggio
    Voglio dire non è necessario nessun evento, basta impostare le proprietà in modo opportuno.
    Questa mi mancava... Così è molto più comodo. Grazie!

    Quote Originariamente inviato da GiuseppeMN Visualizza il messaggio
    In questo caso specifico direi che la differenza non si nota in quanto il Click cambia lo stato del CheckBox.
    Voglio dire, ad ogni Click corrisponde un Change dello stato del CheckBox; questa è la mia personale interpretazione dei due Eventi.
    A questo punto ne convengo con te. Però lo trovo strano... Se è vero che ad ogni click corrisponda un cambio di stato, non è sempre vero il contrario. In effetti, continuando a cercare in rete, si trovano un sacco di post che, per gestire i due eventi separatamente, usano i flag.

    Magari c'è il motivo tecnico, ma mi sfugge... L'importante è che compili...

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. [Office 2010] flaggare casella in word da vba excel
    Da attila666 nel forum Microsoft Excel
    Risposte: 15
    Ultimo Post: 08-01-2019, 11:48
  2. [VBA - Excel 2007]: Creare una Check List
    Da Elimar nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 31-01-2011, 09:34
  3. Check box
    Da gillobillogullo nel forum Microsoft Word
    Risposte: 13
    Ultimo Post: 04-01-2010, 17:07
  4. [VBA-Access] - importazione check box da excel
    Da dr.zoid nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 05-05-2009, 20:09
  5. Listview check e non check
    Da papy2 nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 22-10-2007, 20:37