Condividi tramite

Perdita del focus

Anonimo
2018-04-12T09:04:10+00:00

Buongiorno,

in: Private Sub Workbook_Open(), ho inserito:

userform.show modeless, 

solo che perdo il focus sul primo textbox, ci devo cliccare sopra.

ho anche provato ad inserire prima del .show, .textbox.setfocus, ma non va

non so se c'è un modo con modeless di mantenere il focus sulla prima textbox della user

graxie,

Marco

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2018-04-12T16:58:28+00:00

Ciao Marco,

Ho mantenuto la barra del titolo superiore in modo da poter chiudere excel

ho tolto vbmodeless e ora funziona.....

non capisco perchè non funzionava...forse ho qualcosa io nel mio excel che lo impediva....

tuttavia ho risolto così........

grazie Norman.

Grazie a te, Marco, per il cortese riscontro.

Credo che tu abbia scelto la soluzione più adatta!

Penso che il problema riscontrato da te sia legato all'uso degli API con la tua versione di Excel/Windows.

Quando avrò il tempo di sperimentare altre configurazioni di Excel e del sistema operativo, rivedrò questo thread.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2018-04-12T15:51:53+00:00

Ciao Marco,

si il tuo file funziona,

Meno male !  :-)

il mio no!!!!!! :-(

come puoi ben vedere dall'immagine

E, come postresti vedere dallo mio screenshot, anche con il tuo file, il codice suggerito da me funziona a me  senza problemi:

lancio la userform in modo non modale perchè se devo fare degli aggiustamenti con Ctrl+b riesco a chiudere la userform, in quanto

nel file finale mi piace togliere tutti i controlli tipo ribbon, ecc

Continuo a non credere  che sia necessario lanciare la Userform in modo non modale! Se fosse per me, per chiuderei la Userform o fare degli aggiustamenti, aggiungerei  del codice da chiamare dalla Userform.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-04-12T15:04:39+00:00

    Ciao Marco,

    Ciao Norman,

    ho provato come dici tu ma non va....... :-(

    Ma hai provato il  file di prova che ho caricato? Come puoi vedere dallo screenshot che avevo pubblicato?

    Con quel file, il codice funziona per me nel modo previsto e il cursore si trova nel controllo TextBox di interesse.

    comunque ti allego il mio file così puoi verificare tu.

    con l'occasione, te lo chiedo sotto voce, è lo stesso file del commanbutton enabled 

    i due button sono: Genera Codice Fiscale, Stampa Codice Fiscale.

    grazie..... :-)

    https://www.dropbox.com/s/mcregtttoxv4t29/Codice%20Fiscale%20-%20Copia%20%282%29.xlsm?dl=0

    Ho scaricato il tuo file e aprendolo, io vedo il cursore lampeggiando nel controllo TextBox txtCognome:

    Detto questo, vorresti spiegare perchè mai sia necessario o consigliabile invocare 

    il metodo Show in modo non modale? Dato che tu abbia nascosto i fogli, non vedo la logica o l'utilità di avviare la Userform altro che in modo modale.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-04-12T14:14:20+00:00

    Ciao Norman,

    ho provato come dici tu ma non va....... :-(

    comunque ti allego il mio file così puoi verificare tu.

    con l'occasione, te lo chiedo sotto voce, è lo stesso file del commanbutton enabled 

    i due button sono: Genera Codice Fiscale, Stampa Codice Fiscale.

    grazie..... :-)

    https://www.dropbox.com/s/mcregtttoxv4t29/Codice%20Fiscale%20-%20Copia%20%282%29.xlsm?dl=0

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2018-04-12T13:35:13+00:00

    Ciao Marco,

    in: Private Sub Workbook_Open(), ho inserito:

    userform.show modeless, 

    Spero che tu invece intendessi:

       UserForm1.Show vbModeless

    solo che perdo il focus sul primo textbox, ci devo cliccare sopra.

    ho anche provato ad inserire prima del .show, .textbox.setfocus, ma non va

    non so se c'è un modo con modeless di mantenere il focus sulla prima textbox della user

    In un modulo standard, incolla il seguente codice:

    '=========>>

    Option Explicit

    '--------->>

    Public Sub Tester()

        Sheets("Foglio1").Activate

        With UserForm1

            .Caption = "Demo SetFocus"

            .Show vbModeless

            .TextBox1.SetFocus

        End With

    End Sub

    '<<=========

    Nel modulo di codice dell'oggetto ThisWorkbook

    (Questa_cartella_di_Lavoro), incolla:

    '=========>>

    Option Explicit

    '--------->>

    Private Sub Workbook_Open()

        Call Tester

    End Sub

    '<<=========

    Potresti scaricare il mio file di prova Marco20180412#2.xlsm

    Aprendo questo file, io vedo qualcosa del genere:

                   

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento