Cho phép nhập liệu số trong TEXTBOX

Ờ Phong
22/06/21
453
9

Hôm nay, Tinvanphong.com gởi đến bạn thủ thuật cho phép nhập liệu số trong TEXTBOX. Để đảm bảo rằng, đầu vào của bạn luôn luôn đúng. Nếu bạn khá thoải mái trong vấn đề nhập liệu với Excel, Nhưng đối với nhập liệu UserForm, nó dễ sinh ra lỗi trong quá trình nhập liệu đây .Để đảm bảo sử dụng đúng bảng tính của mình.

Cho phép nhập liệu số trong TEXTBOX
Cho phép nhập liệu số trong TEXTBOX

Tuy nhiên, chỉ đặt một số TextBox trên một UserForm để người dùng nhập dữ liệu là không đủ. Ví dụ, các TextBox có thể chỉ lấy dữ liệu số chứ không phải các chuỗi Văn bản. Để làm điều này, bạn có thể xem 1 số vị dụ dưới đây.

Cho phép nhập liệu số trong TEXTBOX

I. CODE  1

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii > 47 And KeyAscii < 58) Then
KeyAscii = KeyAscii
Else
KeyAscii = 0
End If
End Sub

 Keypress : Sự kiện KeyPress xảy ra khi người dùng nhấn phím tạo ra ký tự có thể đánh máy

Cho phép nhập liệu số trong TEXTBOX
Cho phép nhập liệu số trong TEXTBOX

KeyAscii là Dec ID trong ảnh , Trong đoạn code trên  Nếu ID nhập vào mà lớn hơn 47 và nhỏ hơn 58 thì. Với điều kiện đúng thì nó sẻ trả về dữ liệu , và ngược lại trả về rỗng

Nhưng đối với code trên chỉ là cách tàm thời, khi chúng ta copy 1 dạng văn bản vào vẫn hiển thị, trong khi chung ta đã chặn điều kiện nhập liệu chỉ là số, nếu bạn thấy cách này không an toàn đối với USERFORM thì hay xem hình dưới

Cho phép nhập liệu số trong TEXTBOX
Cho phép nhập liệu số trong TEXTBOX

II.CODE 2

Cách này sẽ giúp bạn chặn được hoàn toàn các vấn đề phát sinh trong nhập liệu, mời bạn xem qua code ở dưới.

Dim LastPosition As Long
Private Sub TextBox1_Change()
Static LastText As String
Static SecondTime As Boolean
If Not SecondTime Then
With TextBox1
If .Text Like “*[!0-9]*” Then
Beep
SecondTime = True
.Text = LastText
.SelStart = LastPosition
Else
LastText = .Text
End If
End With
End If
SecondTime = False
End Sub

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With TextBox1
LastPosition = .SelStart
‘Place any other MouseDown event code here
End With
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
With TextBox1
LastPosition = .SelStart
‘Place any other KeyPress checking code here
End With
End Sub

MouseDown : sự kiện này là khi ban nhả con chuột ra và không đè gì nữa.

CácSelStart quy định cụ thể ,xác định điểm bắt đầu của văn bản đã chọn hoặc vị trí của điểm chèn nếu không có văn bản được chọn. Đọc / ghi Số nguyên .

Like chính xác là một hàm trả về giá trị True hoặc False. Điều này có nghĩa là, nếu đúng, bạn sẽ nhận được giá trị True, còn không, chắc chắn là giá trị False. chẳng hạn như vậy.

III.DEMO

CLICK VÀO TẢI DEMO

Vậy là Tinvanphong.com đã giới thiệu đến các bạn 2 ví dụ trên, có thế giúp ích cho bạn. Hy vọng với nội dung bài viết này, nó sẽ giúp các bạn làm việc hiệu quả hơn, cập nhập dữ liệu cũng sẽ nhanh chóng và chính xác hơn. Chúc các bạn thực hiện thành công.

Tham khảo thêm các bài viết bên dưới.

-Phần mềm xuất nhập tồn bằng Excel miễn phí 2021

Zoom Picture Frame In Userform VBA EXCEL 2021

Hướng dẫn đăng nhập Office 365 A5 và sử dụng Office 365 A5

Bài 18: Hàm LOGIC trong Excel (AND, OR, XOR, NOT) Excel 2019

Bài 16: Hàm đếm trong excel và tính tổng Phần 1- Họ hàm COUNT

Cách thay đổi biểu tượng chuột máy tính trên màn hình Desktop đơn giản

9 thoughts on “Cho phép nhập liệu số trong TEXTBOX

  1. Pingback: Cuộn chuột trong Listbox Combobox WINDOWN API 2021

  2. Pingback: Cách sửa lỗi ngày tháng bị đảo ngược trong Excel 2021

  3. Pingback: Sửa lỗi ngày tháng bị đảo ngược trong Excel 2021

  4. Pingback: Thêm hàng loạt Control trong USERFORM-2021

  5. Pingback: Chọn nhìu Control trả về dữ liệu tương ứng trong VBA 2021

  6. Pingback: Control trả về dữ liệu tương ứng trong VBA 2021-Control

  7. Pingback: Các điều kiện nút đóng [X] trong VBA UserForm 2021

  8. Pingback: Coppy các nét vẻ vào trang tính InkPicture 2021

  9. Pingback: Tạo công cụ chọn ngày tháng trong USERFORM 2021

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *