Page 1 of 1

input box ไม่ยอมหยุดเรียก call

Posted: Sat Oct 20, 2012 8:29 pm
by godman
สวัสดีครับ ผมกำลังศึกษา vba อยู่ตอนนี้อยู่ในช่วงเริ่มต้น
ผมอยาากทราบว่า vba ที่ผมเขียนเกียวกับ user input จริงๆ ผมต้องการแบบ yes no ไป ต่อ หรือ ไม่ไป ประมาณนี้
ผมอยากทราบว่า ทำไมผมกดเครื่องหมายกากบาท แล้วมันยังดำเนินการต่อเอง ผมเข้าใจมาตลอดว่า เครื่องหมายกากบาท คือ สั่งให้หยุดแค่นั้น ไปทำ VBA อื่นต่อไม่ได้ เพราะผมใช้คำสั่ง Call ไว้ด้วย ผมอยากให้มันหยุดเมื่อคลิกกากบาท ไม่ให้เรียกคำสั่ง call ประมาณนี้
Sub Ask2()
MyInput = InputBox("Enter Material Code for validation")
MsgBox ("Access Code accepted")
Range("c6").Value = MyInput
Call Message
End Sub

Sub Message()
MsgBox ("Correct")

End Sub

Re: input box ไม่ยอมหยุดเรียก call

Posted: Sun Oct 21, 2012 6:58 am
by joo
:D ลองปรับโค๊ดแบบนี้ดูว่าตรงกับที่ต้องการหรือไม่

Code: Select all

Sub Ask2()
MyInput = InputBox("Enter Material Code for validation")
If MyInput = "" Then
Exit Sub
End If
If MsgBox("Access Code accepted", 36, "ยืนยัน") = 6 Then
Range("c6").Value = MyInput
Call Message
Cancel = True
End If
End Sub

Re: input box ไม่ยอมหยุดเรียก call

Posted: Sun Oct 21, 2012 7:12 am
by godman
Very Good ใช้ได้ครับ ขอบคุณ มากครับ