Condividi tramite

Utilizzo del tastierino numerico tramite macro

Anonimo
2013-01-04T10:49:29+00:00

Ho un userfom con diverse textbox, per poter accelerare l’inserimento dei dati utilizzo 2 macro che mi permettono di utilizzare il punto (che mi viene trasformato in virgola) del tastierino numerico e l’uso del tasto invio per registrare i dati. Le macro sono: La prima per il punto

Private Sub TextBox2_Change()

If Application.International(xlDecimalSeparator) = "," Then

TextBox2.Text = Replace(TextBox2.Text, ".", ",")

End If

End Sub

La seconda mi permette di utilizzare il tasto invio

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 13 Then

CommandButton1_Click

End If

End Sub

Chiedo il vostro prezioso aiuto per unirle in un unico codice. Grazie.

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

  1. Anonimo
    2013-01-04T11:24:50+00:00

    Ciao Giudor,

    prova così:


    Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

        If KeyCode = 13 Then

            CommandButton1_Click

        ElseIf KeyCode = 110 Or KeyCode = 190 Then

            If Application.International(xlDecimalSeparator) = "," Then

                KeyCode = 188

            End If

        End If

    End Sub


    190 corrisponde al codice del punto sulla tastiera normale. Nel caso non ti serva togli

    Or KeyCode = 190

    David

    La risposta è stata utile?

    0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-01-04T14:24:45+00:00

    Grazie a te per il riscontro e per la tua cortesia

    ;-)

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-01-04T14:17:04+00:00

    Ancora una volta grazie David per la tua ammirevole disponibilità.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-01-04T12:37:26+00:00

    Direi di si. Non ho modo di provare ma i codici dei tasti sono standard.

    Ti fornisco però il modo per verificare: nel tuo codice inserisci un debug.print KeyCode


    Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

        Debug.Print KeyCode

        ...........

    End sub


    Poi sposta la tua applicazione sul notebook e utilizza i tasti del notebook. Nella finestra immediata di VBA (Control + G per visualizzarla nel caso non la vedessi) ti verrano stampati i codici relativi ai tasti premuti. In questo modo puoi verificare da solo se i codici corrispondono.

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-01-04T12:05:16+00:00

    David sei stato veloce e perfetto come sempre. Ti ringrazio per il servizio che ci rendete e la possibilità che ci offrite di capire. Un' ultima cosa. se il codice venisse utilizzato su un notebook bisogna modificare qualcosa o andrebbe bene?

    La risposta è stata utile?

    0 commenti Nessun commento