2012-06-20 43 views
6

Có một điều khiển được xây dựng bằng số trong vba hoặc chúng ta cần tạo điều khiển như thế không?số lên xuống kiểm soát trong vba

Nếu có kiểm soát như vậy thì các sự kiện chúng tôi có thể sử dụng là gì.

Đề xuất.

Trả lời

16

Bạn có thể sử dụng SpinButton1 kiểm soát cho rằng

SNAPSHOT

enter image description here

Bạn có thể thiết lập các min và max của SpinButton1 trong thời gian thiết kế hoặc tại thời gian chạy như hình dưới đây.

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

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

followup

Nếu bạn muốn tăng hoặc giảm giá trị của textbox dựa trên những gì người dùng đã nhập vào trong hộp văn bản sau đó sử dụng này. Điều này cũng làm cho một textbox "Số Chỉ" textbox mà chỉ đáp ứng yêu cầu khác của bạn;)

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 đẹp và đơn giản – brettdj

+0

Made ngày của tôi ..... Trong thực tế, tôi liên kết hai nút quay với các hộp văn bản để đạt được nhiều phương tiện hơn ..... Có cách nào để chỉ cho phép các số trong một hộp văn bản có nút điều khiển xoay được liên kết với nó .... ???? – Premanshu

+0

Đặt thuộc tính '.Locked' của Textbox thành' TRUE' để không người dùng nào có thể nhập thủ công vào đó. Phần còn lại các nút quay sẽ chăm sóc nó :) –

Các vấn đề liên quan