Excel Forum Per condividere esperienze su Microsoft Excel

Userform cancella scelte

  • Messaggi
  • OFFLINE
    LadyExcel85
    Post: 10
    Registrato il: 26/10/2018
    Città: CASALE MONFERRATO
    Età: 38
    Utente Junior
    2016
    00 14/11/2018 17:53
    Sono di nuovo qui, buonasera a tutti.
    Ho una userform in cui ho inserito due optionbutton, una casella di testo e un commandbutton.
    Ho un quesito:

    1) quando effettuo una scelta, la volta successiva in cui si attiva la stessa userform mi resta memorizzata l'ultima scelta effettuata.
    Vorrei invece che alla chiusura della userform si "pulissero" tutti i dati
    Per esempio la prima volta scelgo il pulsante di opzione "si" e nella textbox ci scrivo "fatto", dopodiché la userform si chiude con il commandbutton OK. Successivamente andrò a richiamare la stessa userform cambiando un dato in una cella del foglio, quando mi riappare la userform è già impostata la scelta su optionbutton "si" e in textbox appare l'ultima cosa scritta, ovvero in questo esempio, "fatto".
    Vorrei invece che alla riattivazione della userform questa fosse pulita, niente scritto in textbox e nessuna scelta effettuata.


    Ringrazio nuovamente chiunque voglia aiutarmi.

    Saluti
    [Modificato da LadyExcel85 14/11/2018 18:00]
  • OFFLINE
    dodo47
    Post: 1.997
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    10 14/11/2018 18:21
    ciao
    è strano quello che riporti al primo punto.
    Comunque sull'evento Initialize della tua UserForm inserisci i comandi che "puliscono" sia la opt btn che la textbox:
    me.optionbutton1=false
    me.textbox1=""

    Per quanto riguarda il secondo punto, è possibile con un doppio click sulla cella che vuoi riportare sulla textBox.

    Però devi aprire la userform in modalità vbmodeless, altrimenti non puoi cliccare sul foglio
    es: userform1.show vbmodeless

    Poi sfruttare l'evento BeforeDoubleClick del foglio per riportare il valore della cella sulla txtBox:

    es:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    UserForm1.TextBox1.Value = Target.Value
    End Sub

    Naturalmente tutto quanto detto va sistemato ed aggiustato per bene, ma quella è la via da percorrere

    saluti


    [Modificato da dodo47 14/11/2018 18:22]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    LadyExcel85
    Post: 10
    Registrato il: 26/10/2018
    Città: CASALE MONFERRATO
    Età: 38
    Utente Junior
    2016
    00 14/11/2018 18:37
    Grazie, ora provo la soluzione che mi hai dato.
    Per quanto riguarda il secondo punto avevo già risolto diversamente, ma potrebbe risultarmi utile quanto da te segnalato, grazie.
  • OFFLINE
    LadyExcel85
    Post: 11
    Registrato il: 26/10/2018
    Città: CASALE MONFERRATO
    Età: 38
    Utente Junior
    2016
    00 14/11/2018 18:41
    Ottimo, funziona, grazie mille!
  • OFFLINE
    dodo47
    Post: 1.998
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 14/11/2018 18:45
    grazie a te per il riscontro....

    saluti



    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    Danilo(93)
    Post: 2
    Registrato il: 12/11/2018
    Città: NAPOLI
    Età: 31
    Utente Junior
    Excel 2010
    00 15/11/2018 00:38
    Se mi sbaglio correggetemi che sto ancora imparando... Ma se la regola dice che nelle proprietà di quella textbox risulta visibile, noi in qualche maniera tramite un tasto o una combinazione, tramite vba la modifichiamo in nascosta, poi chiudiamo la userform e la riapriamo.. La inizializzazione della userform va sempre a guardare la proprietà di ogni tasto, casella di testo, labol ecc.... Quindi rimette la texbox in visibile... O sbaglio? A meno che quando apre la userform va a guardare qualche valore presente su una qualsiasi cella di Excel tipo:

    if sheets(foglio1).cells(1,1)= '1' then
    Userform 1.textbox1.visible= true
    Else
    Useform1. Textbox 1. Visible= false
    End if


    Almeno così facevo e faccio ancora quando creo qualche programmino ehehe
  • 15MediaObject5,0016 1