VBA MsgBox అవును / లేదు | అవును / ప్రతిస్పందన లేదు ఎలా సృష్టించాలి?

ఎక్సెల్ VBA MsgBox (అవును / లేదు)

లో VBA, సందేశ పెట్టెను ఉపయోగించి మనం సృష్టించవచ్చు a అవును msgbox లేదు ఇది అవును లేదా కాదు క్లిక్ ఆధారంగా యూజర్ ఇన్పుట్ను రికార్డ్ చేయడానికి ఉపయోగించబడుతుంది, అవును నో మెసేజ్ బాక్స్ చేయడానికి సింటాక్స్ ఈ క్రింది విధంగా ఉంటుంది వేరియబుల్ = MsgBox (“టెక్స్ట్”, vbQuestion + vbYesNo + vbDefaultButton2, “మెసేజ్ బాక్స్ టైటిల్”) వేరియబుల్ తప్పనిసరిగా పూర్ణాంకంగా ప్రకటించాలి.

తరచుగా VBA కోడింగ్‌లో, కొంత పనిని నిర్వహించడానికి వినియోగదారుల నుండి ఇన్‌పుట్ విలువలను సేకరించాలి మరియు వినియోగదారుల నుండి అవును లేదా ప్రతిస్పందనను సేకరించడానికి అలాంటి పనిలో ఒకటి. VBA MsgBox ను ఉపయోగించడం ద్వారా అవును పద్ధతిలో మనం కోడ్‌లో మరింత ముందుకు వెళ్ళడానికి కోడ్‌ను వ్రాయవచ్చు.

కొన్ని సందర్భాల్లో, వారి ప్రతిస్పందనను ఇవ్వడానికి మేము వినియోగదారు ముందు అవును లేదా కాదు ఎంపికను ప్రదర్శించాల్సి ఉంటుంది మరియు ఆ ప్రతిస్పందన ఆధారంగా మనం వాస్తవానికి VBA కోడ్‌ను అమలు చేయవచ్చు.

ఉదాహరణకు, VBA లోని MsgBox యొక్క క్రింది చిత్రాన్ని చూడండి.

వినియోగదారు అవును అని చెబితే “మేము నిర్దిష్ట పనిని నిర్వహించడానికి కోడ్ రాయగలము” మరియు వినియోగదారు “లేదు” అని చెబితే మనం మరొక పనిని చేయటానికి కోడ్ రాయవచ్చు.

MsgBox తో ఎలా పని చేయాలి అవును / ప్రతిస్పందన లేదు?

మీరు ఈ VBA సందేశ పెట్టెను అవును లేదా ఎక్సెల్ మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA సందేశ పెట్టె అవును లేదా ఎక్సెల్ మూస లేదు

ఉదాహరణ # 1 - ప్రతిస్పందన ఆధారంగా కాపీ చేసి అతికించండి

ఉదాహరణకు, క్రింది కోడ్‌ను చూడండి.

కోడ్:

 ఉప సందేశంబాక్స్_వైస్_నో_ఎక్సాంపుల్ 1 () మసక జవాబులు స్ట్రింగ్ మసకబారిన జవాబు కాదు స్ట్రింగ్ జవాబుగా అవును = MsgBox ("మీరు కాపీ చేయాలనుకుంటున్నారా?", VbQuestion + vbYesNo, "వినియోగదారు ప్రతిస్పందన") జవాబు ఉంటే = = ("C1") ఇతర పరిధి ("A1: A2"). పరిధిని కాపీ చేయండి ("E1") ముగింపు ఉంటే ఉప 

వివరణ:

పైన పేర్కొన్నది వేరియబుల్‌ను స్ట్రింగ్ అని ప్రకటించింది.

 మసక జవాబు అవును స్ట్రింగ్ 

తరువాతి పంక్తిలో, “మీరు కాపీ చేయాలనుకుంటున్నారా?” అని అడిగే సందేశ పెట్టె ద్వారా విలువను కేటాయించాము.

AnswerYes = MsgBox ("మీరు కాపీ చేయాలనుకుంటున్నారా?", VbQuestion + vbYesNo, "User Repsonse")

ఇప్పుడు IF స్టేట్మెంట్ మెసేజ్ బాక్స్ ద్వారా ఇచ్చిన స్పందనను అంచనా వేస్తుంది. సందేశ పెట్టె ఫలితం ఉంటే vbYes అప్పుడు అది A1 పరిధిని A2 కు కాపీ చేసి సెల్ C1 లో అతికించండి.

  AnswerYes = vbYes అప్పుడు పరిధి ("A1: A2"). పరిధిని కాపీ చేయండి ("C1")

సందేశ పెట్టె ఇచ్చిన ప్రతిస్పందన లేదు అయితే అది A1 పరిధిని A2 కు కాపీ చేసి సెల్ E1 లో అతికించండి.

 వేరే పరిధి ("A1: A2"). పరిధిని కాపీ చేయండి ("E1") ముగిస్తే 

సరే, నేను ఇప్పుడు సెల్ A1 మరియు A2 లలో కొన్ని విలువలను నమోదు చేసాను.

ఇప్పుడు నేను ఎఫ్ 5 కీని ఉపయోగించి లేదా రన్ ఆప్షన్ ద్వారా కోడ్‌ను రన్ చేస్తాను, మెసేజ్ బాక్స్ నా ముందు కనిపిస్తుంది మరియు నా స్పందన కోసం అడుగుతుంది.

నేను అవునుపై క్లిక్ చేస్తే, అది A1 పరిధిని A2 కు కాపీ చేసి C1 సెల్‌లో అతికించండి. ఇప్పుడు నేను అవునుపై క్లిక్ చేసి ఫలితాన్ని చూస్తాను.

కాబట్టి ప్రతిస్పందన అవును అయితే అది కేటాయించిన పనిని చేసింది.

ఇప్పుడు మళ్ళీ నేను కోడ్ను రన్ చేస్తాను.

ఈసారి నేను నో ఎంచుకుని ఏమి జరుగుతుందో చూస్తాను.

అవును ఇది కోడ్‌లో కేటాయించిన పనిని నిర్వహించింది, అనగా.

 ఇతర పరిధి ("A1: A2"). పరిధిని కాపీ చేయండి ("E1")

ఉదాహరణ # 2 - ప్రతిస్పందన ఆధారంగా షీట్లను దాచు & దాచు

ప్రతిస్పందన అవును అయితే క్రింద ఉన్న కోడ్ క్రియాశీల షీట్ మినహా అన్ని షీట్లను దాచిపెడుతుంది.

కోడ్:

 ఉప దాచుఅన్ని () వర్క్‌షీట్‌గా స్ట్రింగ్ డిమ్ Ws గా మసక సమాధానం = MsgBox ("మీరు అన్నింటినీ దాచాలనుకుంటున్నారా?" ActiveSheet.Name అప్పుడు Ws.Visible = xlSheetVeryHidden Next Ws ElseIf Answer = vbNo అప్పుడు MsgBox "మీరు షీట్లను దాచకూడదని ఎంచుకున్నారు", vbInformation, "దాచవద్దు" ముగింపు ఉంటే ఉప 

సందేశ పెట్టె నుండి ప్రతిస్పందన అవును అయితే పై కోడ్ మేము ప్రస్తుతం ఉన్న షీట్ మినహా అన్ని వర్క్‌షీట్‌లను దాచిపెడుతుంది.

సందేశ పెట్టె నుండి ప్రతిస్పందన లేకపోతే అది సందేశ పెట్టెను ప్రదర్శిస్తుంది “మీరు షీట్లను దాచకూడదని ఎంచుకున్నారు”.

అదేవిధంగా, ప్రతిస్పందన అవును అయితే దిగువ కోడ్ షీట్ను దాచిపెడుతుంది.

కోడ్:

 సబ్ అన్‌హైడ్అల్ () వర్క్‌షీట్‌గా స్ట్రింగ్ డిమ్ Ws గా మసక సమాధానం = MsgBox ("మీరు అన్నింటినీ దాచాలనుకుంటున్నారా?", VbQuestion + vbYesNo, "దాచు") ఉంటే సమాధానం = vbYes అప్పుడు యాక్టివ్‌వర్క్‌బుక్‌లోని ప్రతి Ws కోసం xlSheetVeryHidden Next Ws ElseIf Answer = vbNo అప్పుడు MsgBox "మీరు షీట్లను అన్‌హైడ్ చేయకూడదని ఎంచుకున్నారు", vbInformation, "దాచవద్దు" ముగింపు ఉంటే ఉప 

ఇది దాచు షీట్ కోడ్ మాదిరిగానే పనిచేస్తుంది, అవును అది దాచిపెడుతుంది, లేకపోతే అది దాచదు.