VBA వేచి ఫంక్షన్ | ఎక్సెల్ VBA నిరీక్షణ పద్ధతిని ఎలా ఉపయోగించాలి?
ఎక్సెల్ VBA ఫంక్షన్ వేచి ఉండండి
VBA వేచి ఉండండి నిర్దేశిత సమయం కోసం కోడ్ను పాజ్ చేయడానికి ఉపయోగించే అంతర్నిర్మిత ఫంక్షన్, ఇది స్లీప్ కమాండ్లో మనం చేసే పనికి చాలా పోలి ఉంటుంది మరియు మేము అప్లికేషన్.వైట్ పద్ధతిని ఉపయోగించే కోడ్ను పాజ్ చేయడానికి.
ఇతర పనులు పూర్తి కావడం వల్ల కొన్ని కోడ్లకు తదుపరి పంక్తి కోడ్కు పురోగతి చెందడానికి కొంత సమయం అవసరం. ఈ సందర్భాలలో, మేము అమలు చేయవలసిన కోడ్ను ఆపి కొంత సమయం పాజ్ చేసి, ఆపై అమలుతో కొనసాగాలి. మేము రెండు విధాలుగా అమలు చేయవలసిన కోడ్ను పాజ్ చేయవచ్చు, మొదటిది “స్లీప్” పద్ధతి మరియు రెండవది “వేచి ఉండండి” పద్ధతి. మా మునుపటి వ్యాసంలో, VBA కోడ్ను పాజ్ చేయడానికి “VBA స్లీప్” పద్ధతిని చర్చించాము.
"వేచి ఉండండి" పేరు చెప్పినట్లుగా ఇది నిర్దేశిత కాలపరిమితికి అమలు చేయాల్సిన స్థూల కోడ్ను కలిగి ఉంటుంది. ఈ పద్ధతిని ఉపయోగించి మన కోడ్ పాజ్ చేయాల్సిన సమయాన్ని పేర్కొనాలి, తరువాత ఉదాహరణలను చూస్తాము.
WAIT ఫంక్షన్ యొక్క వాక్యనిర్మాణం క్రింది విధంగా ఉంది.
మన కోడ్ విరామం ఇవ్వవలసిన సమయాన్ని పేర్కొనాలి. మీరు చివరిలో చూడగలిగినట్లుగా ఇది బూలియన్ అని చెబుతుంది, దీని అర్థం ఇది ఫలితాన్ని బూలియన్ విలువలుగా తిరిగి ఇస్తుంది, అనగా TRUE లేదా FALSE.
పేర్కొన్న సమయం వచ్చేవరకు అది తప్పు అని మరియు పేర్కొన్న సమయం వచ్చిన క్షణం అది నిజమని చెబుతుంది.
ఇది SLEEP ఫంక్షన్కు భిన్నంగా ఉంటుంది, ఎందుకంటే WAIT అనేది అంతర్నిర్మిత ఫంక్షన్, ఇక్కడ SLEEP అనేది విండోస్ ఫంక్షన్. మేము SLEEP ఫంక్షన్ను యాక్సెస్ చేయడానికి ముందు మాడ్యూల్ ఎగువన ఈ క్రింది కోడ్ను పేర్కొనాలి. కానీ WAIT కి ఇది అవసరం లేదు.
కోడ్:
# ఒకవేళ VBA7 అప్పుడు పబ్లిక్ డిక్లేర్ PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds as LongPtr) ‘64 బిట్ సిస్టమ్స్ కోసం
ఎక్సెల్ VBA వెయిట్ ఫంక్షన్ ఉపయోగించడానికి ఉదాహరణలు
మీరు ఈ VBA వెయిట్ ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA వెయిట్ ఎక్సెల్ మూసఉదాహరణ # 1
మీరు 14:30:00 గంటలకు ఎక్సెల్ మిడ్ డేలో పని చేస్తున్నారని అనుకోండి మరియు సమయం 14:40:00 అయ్యే వరకు మీ కోడ్ పాజ్ చేయబడాలని మీరు కోరుకుంటారు. మీరు ఈ క్రింది కోడ్ను ఉపయోగించవచ్చు.
కోడ్:
సబ్ వెయిట్_ఎక్సాంపుల్ 1 () అప్లికేషన్.వైట్ "14:40:00" ఎండ్ సబ్
మీ ఆపరేటింగ్ సిస్టమ్లో సమయం 14:40:00 వరకు చేరే వరకు కోడ్ మీ ఎక్సెల్ పని చేయకుండా ఆపుతుంది. ఇలాంటి సమయాన్ని అందించడం ప్రమాదకరం ఎందుకంటే మేము ఎల్లప్పుడూ 14:30:00 నుండి పని చేయము, ఇది అన్ని సమయాలలో మారుతూ ఉంటుంది.
మీరు 2 నిమిషాలు వేచి ఉండాలనుకునే కోడ్ను నడుపుతున్నప్పుడు, మీ కోడ్లో దీన్ని ఎలా సూచిస్తారు?
కాబట్టి, ప్రస్తుత సమయం నుండి పేర్కొన్న సమయాన్ని నమోదు చేయడానికి మేము VBA NOW ఫంక్షన్ను TIME VALUE ఫంక్షన్తో ఉపయోగించవచ్చు.
మీ కంప్యూటర్ సిస్టమ్ ప్రకారం ఇప్పుడు () ఫంక్షన్ ప్రస్తుత తేదీ మరియు సమయాన్ని మీకు గుర్తు చేస్తుంది. TIMEVALUE ఫంక్షన్ 00:00:00 నుండి 23:59:59 వరకు, అంటే 11:59:59 24 గంటల ఆకృతిలో P.M ను సూచిస్తుంది. ఇది స్ట్రింగ్ విలువను సమయ విలువగా మారుస్తుంది.
ఉదాహరణ కోసం ఇప్పుడు () + TIMEVALUE (00:02:30) అంటే ప్రస్తుత సమయం + 2 నిమి 30 సెకన్లు.
ప్రస్తుత సమయం 14:25:30 అయితే అది 14:28:00 అవుతుంది.
మీ కోడ్ ప్రస్తుత సమయం నుండి తదుపరి 10 నిమిషాల వరకు అమలు చేయకుండా ఆపడానికి లేదా పాజ్ చేయడానికి మీరు ఈ క్రింది కోడ్ను ఉపయోగించవచ్చు.
కోడ్:
సబ్ వెయిట్_ఎక్సాంపుల్ 2 () అప్లికేషన్.వైట్ (ఇప్పుడు () + టైమ్వాల్యూ ("00:10:00")) ఎండ్ సబ్
ఖచ్చితమైన విరామం కోసం NOW () ఫంక్షన్ను ఉపయోగించడం చాలా ముఖ్యం, లేకపోతే, మీ ఎక్సెల్ వర్క్బుక్ అర్ధరాత్రి వరకు పాజ్ అయ్యే అవకాశాలు ఉన్నాయి. ఏదేమైనా, మేము ఏ సమయంలోనైనా పాజ్ పద్ధతి నుండి బయటకు రావచ్చు ఎస్ కీ లేదా బ్రేక్ కీ.
ఉదాహరణ # 2
లూప్ నడుస్తున్న ప్రతిసారీ 10 సెకన్లు వేచి ఉండండి
నిరీక్షణ పద్ధతి ఉచ్చులతో బాగా ఉపయోగించబడుతుంది. లూప్ నడుస్తున్న ప్రతిసారీ మీరు 10 సెకన్ల పాటు వేచి ఉండాల్సిన పరిస్థితులు ఉన్నాయి. ఉదాహరణకు, క్రింది డేటాను చూడండి.
లాభం = (అమ్మకాలు - ఖర్చు) లెక్కించడానికి మీరు ఒక లూప్ను సృష్టించాలనుకుంటున్నారు మరియు ప్రతి లూప్ తర్వాత, ఫలితం ఖచ్చితమైనదా కాదా అని తనిఖీ చేయడానికి మీరు 10 సెకన్ల పాటు వేచి ఉండాలనుకుంటున్నారు. దిగువ కోడ్ అలా చేస్తుంది.
కోడ్:
K = 2 నుండి 9 కణాల (k, 4) కోసం ఉప నిరీక్షణ_ఎంపాజిల్ 3 () మసకబారిన విలువ .సమయం = కణాలు (k, 2) - కణాలు (k, 3) అప్లికేషన్.వైట్ (ఇప్పుడు () + సమయ విలువ ("00:00 : 10 ")) తదుపరి k ఎండ్ సబ్
ఈ కోడ్ లాభాల కాలమ్ లైన్ను లైన్ ద్వారా లెక్కిస్తుంది. మొదటి పంక్తి పూర్తయిన తరువాత, అది తదుపరి పంక్తిని లెక్కించడానికి ముందు 10 సెకన్ల పాటు వేచి ఉంటుంది.
VBA స్లీప్ vs VBA వేచి ఉండండి
VBA SLEEP | VBA WAIT | |
ఇది VBA అంతర్నిర్మిత ఫంక్షన్ కాదు, ఈ ఫంక్షన్ను యాక్సెస్ చేయడానికి ప్రత్యేక కోడ్ అవసరం. | ఇది VBA అంతర్నిర్మిత ఫంక్షన్, ఈ ఫంక్షన్ను యాక్సెస్ చేయడానికి ప్రత్యేక కోడ్ అవసరం లేదు. | |
నిద్రకు సమయ వ్యవధిలో మిల్లీసెకన్లు అవసరం. | వేచి ఉండటానికి సాధారణ కాలపరిమితి అవసరం. | |
మేము కోడ్ను మిల్లీసెకన్లలో ఆలస్యం చేయవచ్చు | మేము మొత్తం సెకన్లలో మాత్రమే ఆలస్యం చేయవచ్చు. |