返回列表 上一主題 發帖

[發問] 當按下按鈕執行無誤,但是透過轉換,卻出現不同的結果。

[發問] 當按下按鈕執行無誤,但是透過轉換,卻出現不同的結果。

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then CommandButton1_Click
End Sub

以上是當在TextBox1按下Enter鍵後,執行CommandButton1

Private Sub CommandButton1_Click()
                With TextBox1
                    .SetFocus
                    .SelStart = 0
                    .SelLength = Len(.Text)
                End With
End Sub

我們一般按下按鈕CommandButton1,TextBox1內的字會被全選。
但是當在TextBox1按下Enter鍵後,執行CommandButton1,TextBox1內的字卻不會被全選。

如附件:
Test5.rar (27.78 KB)

回復 22# av8d
試試看 是這樣嗎?
  1. Private Sub CommandButton1_Click()
  2.     Dim CB As String, TB As String, ER As String, I As Integer
  3.     CB = ComboBox1
  4.     TB = TextBox1
  5.     For I = 1 To 3
  6.         If 確認密碼(CB, TB) = "密碼正確" Then
  7.             GoTo MS
  8.         Else
  9.             TextBox1 = InputBox("密碼錯誤! " & I & "次", "警告!", "請輸入正確密碼!")
  10.             TB = TextBox1
  11.         End If
  12.     Next
  13.     MsgBox "密碼錯誤! 3次 關閉 Excel"
  14.     Application.Quit
  15.     Exit Sub
  16. MS:
  17.     MsgBox "密碼正確"
  18.     Username = ComboBox1
  19.     Unload Me
  20. End Sub
  21. Private Function 確認密碼(CB As String, TB As String) As String
  22.     Dim I As Integer
  23.     確認密碼 = "密碼錯誤"
  24.     With Sheets("蓋棉被純聊天系統")
  25.         For I = 3 To 5
  26.             If CB = .Range("N" & I) And TB = .Range("O" & I) Then
  27.                 確認密碼 = "密碼正確"
  28.                 Exit For
  29.             End If
  30.         Next
  31.   End With
  32. End Function
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 21# GBKEE


    Test10.rar (30.39 KB)
當密碼出現錯誤時,會跳窗讓使用者在輸入一次,輸入以後又會跳回原來的UserForm1窗,再次登入測試

是否有辦法讓他不要跳回原來的UserForm1窗~直接再次登入測試?

TOP

本帖最後由 GBKEE 於 2013-3-22 13:20 編輯

回復 20# av8d
試試看





Sheet1的CommandButton1_Click()

DSC00220.JPG.rar (20.54 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 17# GBKEE


    G大~請問如果我要改寫成InputBox~該如何改寫呢?
如附件
Test6.rar (29.36 KB)

TOP

回復 18# av8d

好像是tab的問題,你從textbox按enter後,會跳到下一個順序的物件去
要怎麼改,還要研究一下,我也在慢慢努力增進自己的知識
也請您多多指教

TOP

回復 16# mickeymiles


    謝謝大大~是全選狀態~但是不能打字~不知道為什麼~@

TOP

回復 10# av8d
資料型態問題
Dim CB As String, TB As String
  1. Private Sub CommandButton1_Click()
  2.     Dim CB As String, TB As String, ER As String, i As Integer
  3.     CB = ComboBox1.Value
  4.     TB = TextBox1.Value
  5.     With Sheets("蓋棉被純聊天系統")
  6.         For i = 2 To 4
  7.             If CB = .Range("N" & i) And TB = .Range("O" & i) Then
  8.                 ER = ""
  9.                 Username = ComboBox1
  10.                 '關閉視窗
  11.            Unload Me             '還是要執行程式的For的迴圈
  12.            '隱藏UserForm1視窗
  13.            'UserForm1.Hide    '還是要執行程式的For的迴圈
  14.            GoTo MS
  15.             Else
  16.                 ER = "密碼錯誤!"
  17.             End If
  18.         Next
  19.     End With
  20. MS:
  21.     If ER = "密碼錯誤!" Then MsgBox ER   
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# av8d
下列再加入  .HideSelection = False,好像就可以了
至於為什麼一開始的不行,可能要請版上前輩指教一下了

                 With TextBox1
                     .SetFocus
                     .SelStart = 0
                     .SelLength = Len(.Text)
                      .HideSelection = False
                 End With

TOP

回復  Hsieh


    使用了大大給的~可以了~可能輸入錯誤無法讓他顯示了!
av8d 發表於 2013-3-20 16:55





這個是我之前編寫資料查閱功能的通行證
但只有一對一
可將當中的
    realpsd = 工作表1.Cells(2, "N")
    realpsm = 工作表1.Cells(2, "O")
擴充即可..

用法
開啟程式編輯畫面,把檔案匯入
參考此附件
    PWControl.zip (1.73 KB)

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題