[VBA ] excel msgbox

看板Visual_Basic作者 (高速離心機)時間13年前 (2013/03/05 14:51), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
各位好 我寫了一個小程式用來記錄刷卡的時間點 語法如下,目標是以身份證去對照資料來記錄該人刷卡的時間點 Private Sub TextBox1_Change() If Len(TextBox1.Value) > 9 Then '#偵測輸入字元是否大於9個,大於就下一步 Worksheets("Sign_in").Range("k1") = TextBox1.Value '#把輸入的資料丟入k1 If Worksheets("Sign_in").Range("k7") = 0 Then '#有找到此人 Worksheets("Sign_in").Range("k4") = Time '%顯示目前時間於k4 Worksheets("DATA").Cells(Worksheets("Sign_in").Range("k2"), Worksheets("Sign_in").Range("k3")) = Time '#把時間丟進目標sheet label_no.Caption = Worksheets("Sign_in").Range("k5") '#把k5丟進label_no 顯示 label_name.Caption = Worksheets("Sign_in").Range("k6") MsgBox "刷卡成功" '#有抓到就顯示刷卡成功 Else MsgBox "刷卡錯誤" '#沒抓到就顯示刷卡失敗 label_no.Caption = "" '#消除label label_name.Caption = "" '消除label TextBox1.Text = "" '#等待下一個刷卡 End If End If End Sub 現在問題在於,msgbox刷卡成功,顯示後,我的label還是呈現空白 非要按enter才會顯示我要的文字,請問要怎麼修改才能在msg出來前就顯示上去 感激!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.72.131.249

03/05 22:46, , 1F
把label移到MsgBox前面 因為MsgBox跑完才跑下一行
03/05 22:46, 1F

03/05 23:16, , 2F
可是label是在msgbox前方沒錯,後面的是按enter後消除label
03/05 23:16, 2F

03/05 23:17, , 3F
但是就是沒辦法在msgbox出來前,讓label顯示上去
03/05 23:17, 3F

03/05 23:17, , 4F
而是按了msgbox之後才顯示出來,一整個怪怪的
03/05 23:17, 4F

03/06 16:18, , 5F
看錯看到錯誤那邊 msgbox前面加個DOEVENT試看看
03/06 16:18, 5F

03/06 22:01, , 6F
label前面先加個debug.print,印出K5, K6的值看看
03/06 22:01, 6F
文章代碼(AID): #1HDPOB8G (Visual_Basic)