返回列表 上一主題 發帖

[發問] Textbox 兩位數的設定

回復 1# bowwow1975
TextBox32 輸入後按 [Enter]  (控制項失去駐點)
  1. 'Enter、Exit 事件
  2. 'Enter 主要發生在一個控制項,從同一表單上的另一個控制項取得駐點之前
  3. 'Exit 會在一個控制項失去駐點時發生。
  4. Option Explicit
  5. Dim Exit_Msg As Boolean                     '表單私用變數
  6. Private Sub TextBox32_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  7.     If Exit_Msg = True Then Exit Sub            '尚在輸入中, 此時如關閉表單,還是會執行此程序
  8.     If Not IsNumeric(TextBox32) Or TextBox32 < 40 Or TextBox32 > 50 Then
  9.         Cancel = True                           'True 表示應用程式須處理此事件,且駐點仍保留在目前控制項。
  10.         With TextBox32                          '選擇以輸入文字
  11.             .SelStart = 0
  12.             .SelLength = Len(.Text)
  13.        End With
  14.        MsgBox "TextBox32 須是 大於 40 和小於 50  "
  15.     End If
  16. End Sub
  17. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  18.     Exit_Msg = True
  19. End Sub
複製代碼

TOP

回復 4# bowwow1975
如何解決 交流一下
3#的錯誤
  1. Option Explicit
  2. Dim Exit_Msg As Boolean   '此變數是表單模組的私用變數,須是置於表單般模組頂部
  3. Private Sub TextBox34_Change()
  4.     With Sheet4
  5.         .Range("H4").Value = TextBox34.Text
  6.     End With
  7. End Sub
  8. Private Sub TextBox34_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  9.     If Exit_Msg = True Then Exit Sub
  10.     If Not IsNumeric(TextBox34) Or Sheets(4).Range("h4") < Sheets(4).Range("C35") Or Sheets(4).Range("h4") > Sheets(4).Range("C34") Then
  11.     '*****************************************************************************************************************
  12.     '這裡有矛盾 C34,C35, C36 數據是哪裡才正確!!!!
  13.     'If Not IsNumeric(TextBox32) Sheets(4).Range("h4") < Sheets(4).Range("C35") Or Sheets(4).Range("h4") > Sheets(4).Range("C36") Then
  14.     'MsgBox "Np 須是 大於" & Sheets(4).Range("C35") & " 和小於 " & Sheets(4).Range("C34")
  15.     '******************************************************************************************************************
  16.     Cancel = True
  17.     'With textbox34
  18.     '    .SelStart = 0
  19.     '    .SelLength = Len(.Text)
  20.     '    End With
  21.         MsgBox "Np 須是 大於" & Sheets(4).Range("C35") & " 和小於 " & Sheets(4).Range("C34")
  22.     End If
  23. End Sub
  24. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  25.     Exit_Msg = True
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題