作者cluss (高速離心機)
看板Visual_Basic
標題[VBA ] excel msgbox
時間Tue Mar 5 14:51:50 2013
各位好
我寫了一個小程式用來記錄刷卡的時間點
語法如下,目標是以身份證去對照資料來記錄該人刷卡的時間點
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
1F:→ tsongs:把label移到MsgBox前面 因為MsgBox跑完才跑下一行 03/05 22:46
2F:→ cluss:可是label是在msgbox前方沒錯,後面的是按enter後消除label 03/05 23:16
3F:→ cluss:但是就是沒辦法在msgbox出來前,讓label顯示上去 03/05 23:17
4F:→ cluss:而是按了msgbox之後才顯示出來,一整個怪怪的 03/05 23:17
5F:→ tsongs:看錯看到錯誤那邊 msgbox前面加個DOEVENT試看看 03/06 16:18
6F:→ Catbert:label前面先加個debug.print,印出K5, K6的值看看 03/06 22:01