Giúp bẫy msgbox đối với textbox (1 người xem)

  • Thread starter Thread starter ltng82
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

ltng82

Thành viên mới
Tham gia
14/5/12
Bài viết
14
Được thích
0
Giúp mình khai báo định dạng textbox, và cách bẫy khi không nhập số liệu vào textbox. File đính kèm bên dưới. Thank trước.
 

File đính kèm

Bẩy lỗi các textbox (từ Tb1 đến Tb6):

Mã:
Private Sub tinh_Click()
    Dim t As Byte, td As Variant
    td = Array("", "X'", "Y'", "Z'", "X", "Y", "Z")
    For t = 1 To 6
        With Me("txtb" & t)
            If Trim(.Text) = "" Then
                MsgBox "Hay nhap toa do " & td(t)
                .SetFocus
                Exit Sub
            End If
        End With
    Next
[COLOR=#ff0000]''Code cua ban[/COLOR]
End Sub

Nếu muốn chỉ nhập là số ở các textbox, tôi làm ví dụ 1 trường hợp cho bạn, tự bạn làm việc với các textbox còn lại:

Mã:
Private Sub txtb1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Dim KA As String
    KA = Chr(KeyAscii)
    If Not IsNumeric(KA) Then
        If KA <> "." And KA <> "," Then KeyAscii = 0
    End If
End Sub
 
Upvote 0
Nếu muốn chỉ nhập là số ở các textbox, tôi làm ví dụ 1 trường hợp cho bạn, tự bạn làm việc với các textbox còn lại:

Mã:
Private Sub txtb1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Dim KA As String
    KA = Chr(KeyAscii)
    If Not IsNumeric(KA) Then
        If KA <> "." And KA <> "," Then KeyAscii = 0
    End If
End Sub

code chỉ chấp nhận ký tự chữ số và ký tự ",", "." nhưng điều này không có nghĩa là nội dung txtb1 chắc chắn là số.

Nếu có code
Mã:
Private Sub CommandButton2_Click()
Dim a As Double
    a = TextBox1 + 1
'    Range("A1").Value = TextBox1
End Sub

Và trong CP thiết lập ký tự thập phân là "," thì với txtb1 = "2.3" code của CommandButton2 sẽ có lỗi. Thậm chí nếu CP thiết lập ký tự thập phân là "." thì với txtb1 = "1.2.3" hoặc txtb1 = "1..2" code của CommandButton2 sẽ có lỗi.

Tôi đề nghị:

Mã:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim ch As String
    ch = Chr(KeyAscii)
[B][COLOR=#0000ff]'    neu khong la chu so[/COLOR][/B]
    If Not IsNumeric(ch) Then
[B][COLOR=#0000ff]'        neu la ky tu thap phan[/COLOR][/B]
        If IsNumeric("1" & ch) Then
[B][COLOR=#0000ff]'            neu da co ky tu thap phan[/COLOR][/B]
            If InStr(1, TextBox1, ch) > 0 Then KeyAscii = 0
        Else
[B][COLOR=#0000ff]'            khong la ky tu chu so va khong la ky tu thap phan[/COLOR][/B]
            KeyAscii = 0
        End If
    End If
End Sub
 
Upvote 0
Làm sao ngắt được lựa chọn option và textbox riêng. Khi tắt lựa chọn option nó không hiện lên lựa chọn textbox. Xem file đính kèm.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Làm sao ngắt được lựa chọn option và textbox riêng. Khi tắt lựa chọn option nó không hiện lên lựa chọn textbox. Xem file đính kèm.
Tôi chẳng biết bạn nói gì nữa, bạn muốn gì thì nói rõ ràng một chút, tiết kiệm lời quá tôi chẳng biết bạn cần gi!

Giờ thử cái này trước, sau đó cần gì thì nói tiếp!


Mã:
If opt1.Value = False And opt2.Value = False Then
    MsgBox "Hay chon he toa do muon chuyen"
[COLOR=#ff0000][B]    Exit Sub[/B][/COLOR]
End If
 
Upvote 0
:-= Do mình không biết phải diển tả như thế nào. Mình làm được rồi.
 
Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom