Excel VBA में डायलॉग बॉक्स (Dialog Boxes) का उपयोग उपयोगकर्ता को जानकारी प्रदर्शित करने के लिए किया जाता है।
MsgBox फ़ंक्शन एक संवाद बॉक्स में एक संदेश प्रदर्शित करता है, उपयोगकर्ता द्वारा एक बटन पर क्लिक करने की प्रतीक्षा करता है, और एक पूर्णांक देता है जो दर्शाता है कि उपयोगकर्ता ने किस बटन पर क्लिक किया है।
उपयोग किया जाने वाला सबसे आम संवाद संदेश बॉक्स है, लेकिन हम इनपुट बॉक्स का भी उपयोग कर सकते हैं।
अब तक, हमने स्क्रीन पर जानकारी प्रदर्शित करने के लिए MsgBox डायलॉग बॉक्स का उपयोग किया है।
Sub delete_B2()
Range("B2").ClearContents
MsgBox "The contents of B2 have been deleted !" '"सेल B2 की सामग्री हटा दी गई है!"
End Sub
इस मामले में MsgBox को केवल एक तर्क के साथ बुलाया जाता है। देखना नीचे दिया गया कोड:
अब हम एक डायलॉग बॉक्स बनाएंगे जो दो निर्देशों के निष्पादित होने से पहले डिलीट करने की पुष्टि मांगेगा। फिर तीन तर्क हैं जिनका हम उपयोग करेंगे:
MsgBox([पाठ], [बटन], [शीर्षक])
Sub delete_B2()
If MsgBox("Are you sure that you wish to delete the contents of B2 ?", vbYesNo, "Confirm") = vbYes
Then
Range("B2").ClearContents
MsgBox "The contents of B2 have been deleted !"
End If
End Sub
परिणाम:
Private Sub warning(var_text As String)
MsgBox "Caution : " & var_text & " !"
End Sub
Sub macro_test()
If Range("A1") = "" Then
warning "empty cell" '"खाली सेल"
ElseIf Not IsNumeric(Range("A1")) Then
warning "non-numerical value" '"गैर-संख्यात्मक मान"
End If
End Sub
vbहाँनहीं निर्दिष्ट करता है कि संवाद बटन "Yes" और "No" हैं, और vbहाँ "Yes" बटन का प्रतिनिधित्व करता है:
If MsgBox("Text", vbYesNo, "Title") = vbYes Then 'यदि yesbl_ बटन दबाया जाता है...
| नियत | अंकीय मूल्य | विवरण |
|---|---|---|
| vbOKOnly | 0 | ![]() |
| vbOKCancel | 1 | ![]() ![]() |
| vbAbortRetryIgnore | 2 | ![]() ![]() ![]() |
| vbYesNoCancel | 3 | ![]() ![]() ![]() |
| vbYesNo | 4 | ![]() ![]() |
| vbRetryCancel | 5 | ![]() ![]() |
| vbCritical | 16 | ![]() |
| vbQuestion | 32 | ![]() |
| vbExclamation | 48 | ![]() |
| vbInformation | 64 | ![]() |
यहां एक उदाहरण है MsgBox जो लूप में हर बार तब तक प्रदर्शित होता रहेगा जब तक उपयोगकर्ता Yes नहीं दबाता:
Sub humor()
Do
If MsgBox("Do you like the Moonexcel site ?", vbYesNo, "Survey") = vbYes Then
Exit Do '=> प्रतिक्रिया Yes = हाँ, हम लूप से बाहर निकलते हैं
End If
Loop While 1 = 1 '=> अंतहीन लूप
MsgBox ";-)"
End Sub
एक नया रिबन प्रदर्शित करने के लिए, आप तर्क 10 के साथ Chr फ़ंक्शन का उपयोग कर सकते हैं, जो रिबन को स्थानांतरित करने के लिए ज़िम्मेदार है, उदाहरण के लिए:
MsgBox "Example 1" & Chr(10) & "Example 2" & Chr(10) & Chr(10) & "Example 3"
हमें निम्नलिखित परिणाम मिलता है:
एक इनपुटबॉक्स उपयोगकर्ता को संवाद बॉक्स में एक मान दर्ज करने के लिए संकेत देता है, उदाहरण के लिए:
Sub example()
Dim result As String
result = InputBox("Text ?", "Title") 'वेरिएबल को इनपुटबॉक्स में दर्ज मान निर्दिष्ट किया गया है
If result <> "" Then 'यदि मान कुछ भी है लेकिन "" नहीं है, तो परिणाम प्रदर्शित किया जाएगा
MsgBox result
End If
End Sub
हमें निम्नलिखित परिणाम मिलता है:
तीसरे तर्क का उपयोग डिफ़ॉल्ट मान सेट करने के लिए किया जा सकता है:
InputBox("Text ?", "Title", "Default value")
परिणाम इस प्रकार है: