2012-06-20 10 views
6

Esiste un controllo di aggiornamento numerico incorporato in vba oppure è necessario creare un controllo simile?controllo numerico su giù in vba

Se esiste un tale controllo, quali sono gli eventi che è possibile utilizzare.

suggerimento.

risposta

16

È possibile utilizzare il controllo SpinButton1 per quella

ISTANTANEA

enter image description here

CODICE

è possibile impostare il min e max del SpinButton1 in fase di progettazione o in fase di runtime come mostrato di seguito.

Private Sub UserForm_Initialize() 
    SpinButton1.Min = 0 
    SpinButton1.Max = 100 
End Sub 

Private Sub SpinButton1_Change() 
    TextBox1.Text = SpinButton1.Value 
End Sub 

FOLLOWUP

Se si desidera aumentare o diminuire il valore della casella di testo in base a ciò che l'utente ha in ingresso nella casella di testo quindi utilizzare questo. Questo rende anche la casella di testo una casella di testo "Number Solo", che solo soddisfa l'altra richiesta;)

Private Sub SpinButton1_SpinDown() 
    TextBox1.Text = Val(TextBox1.Text) - 1 
End Sub 

Private Sub SpinButton1_SpinUp() 
    TextBox1.Text = Val(TextBox1.Text) + 1 
End Sub 

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
    Select Case KeyAscii 
     Case vbKey0 To vbKey9, 8 
     Case Else 
     KeyAscii = 0 
     Beep 
    End Select 
End Sub 
+0

+1 piacevole e semplice – brettdj

+0

fatto il mio giorno ..... In realtà ho collegato due pulsanti di selezione con caselle di testo per ottenere più mezzi ... C'è un modo per consentire solo i numeri in una casella di testo che ha un pulsante di controllo spin collegato ad esso .... ???? – Premanshu

+0

Imposta la proprietà '.Locked' della Textbox su' TRUE' in modo che nessun utente possa digitarlo manualmente. I pulsanti di rotazione si prenderanno cura di loro :) –

Problemi correlati