Vba: วิธีสร้างกล่องข้อความที่มีคำตอบใช่/ไม่ใช่
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อสร้างกล่องข้อความเพื่อให้ผู้ใช้เลือกใช่หรือไม่ใช่:
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
แมโครนี้จะสร้างกล่องข้อความที่ถามผู้ใช้ว่าต้องการคูณเซลล์ A1 และ B1 หรือไม่
หากผู้ใช้คลิก “ใช่” เซลล์ทั้งสองจะถูกคูณและผลลัพธ์จะแสดงในเซลล์ C1
หากผู้ใช้คลิก “ไม่” กล่องข้อความใหม่จะปรากฏขึ้นเพื่อแจ้งให้ทราบว่าไม่มีการคูณ
โปรดทราบว่าคำสั่ง vbYesNo คือสิ่งที่แทรกปุ่ม “ใช่” และ “ไม่ใช่” เพื่อให้ผู้ใช้คลิก
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: สร้างกล่องข้อความที่มีคำตอบใช่/ไม่ใช่
สมมติว่าเรามีค่าสองค่าต่อไปนี้ในเซลล์ A1 และ B1 ของแผ่นงาน Excel ของเรา:
สมมติว่าเราต้องการสร้างแมโครที่แสดงกล่องข้อความให้กับผู้ใช้และถามว่าต้องการคูณค่าในเซลล์ A1 และ B1 หรือไม่
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
เมื่อเราเรียกใช้แมโครนี้ กล่องข้อความต่อไปนี้จะปรากฏขึ้น:
หากเราคลิก ใช่ มาโครจะคูณค่าในเซลล์ A1 และ B2 และแสดงผลลัพธ์ในเซลล์ C1:
อย่างไรก็ตาม ถ้าเราคลิก ไม่ กล่องข้อความใหม่จะปรากฏขึ้น:
กล่องข้อความบอกเราว่าไม่มีการคูณใดๆ เนื่องจากเราคลิก No ในกล่องข้อความก่อนหน้า
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีเพิ่มบรรทัดใหม่ในกล่องข้อความ
VBA: วิธีเพิ่มแผ่นงานใหม่
VBA: วิธีตรึงบานหน้าต่าง