สร้าง Message Box คำถาม

ในบางครั้งการเขียนโค้ด หรือ VBA แบบมีทางเลือก ก็จำเป็นต้องรับข้อมูลคำตอบจากผู้ใช้งาน เราสามารถประยุกต์ใช้ Message Box เพื่อถามผู้ใช้งานได้

ตัวอย่าง

Public Sub msg_box1()
    If MsgBox("คุณต้องการคำนวณผลหรือไม่?", vbYesNo + vbQuestion, "แจ้งการคำนวณผล") = vbYes Then
        MsgBox "คุณกดที่ Yes", , "Result"
    Else
        MsgBox "คุณกด No", , "ไม่ต้องการ"
    End If
End Sub

ใน VBA จะเก็บค่ากด vbYes เป็นตัวเลข 6 และ เก็บค่ากด vbNo เป็นตัวเลข 7 เราสามารถเขียน VBA ตรวจสอบดูตัวเลขได้ ดังนี้

Public Sub msg_box2()
    If MsgBox("คุณต้องการคำนวณผลหรือไม่?", vbYesNo + vbQuestion, "แจ้งการคำนวณผล") = vbYes Then
        MsgBox vbYes & " คุณตอบ Yes"
    Else
        MsgBox vbNo & " คุณตอบ No"
    End If
End Sub

สามารถใช้ตัวเลข มาตั้งเงื่อนไขแทน vbYes หรือ vbNo ได้ ตัวอย่างดังต่อไปนี้

Public Sub msg_box3()
    Dim result As Integer
    result = MsgBox("คุณต้องการคำนวรผลหรือไม่?", vbYesNo + vbQuestion, "แจ้งการคำนวณผล")
    Select Case result
        Case Is = 6
            MsgBox "คุณตอบ Yes"
        Case Is = 7
            MsgBox "คุณตอบ No"
    End Select
End Sub