ప్రతి లూప్కు VBA ఎలా ఉపయోగించాలి? (ఎక్సెల్ ఉదాహరణలతో)
ప్రతి లూప్ కోసం ఎక్సెల్ VBA
ప్రతి లూప్ కోసం VBA అన్ని వస్తువులు లేదా వస్తువుల సేకరణ ద్వారా వెళుతుంది మరియు ఇదే విధమైన కార్యకలాపాలను నిర్వహిస్తుంది. ఇది అందుబాటులో ఉన్న అన్ని పేర్కొన్న వస్తువులను పరిగణనలోకి తీసుకుంటుంది మరియు ప్రతి వస్తువులో సూచించిన కార్యాచరణను చేస్తుంది.
VBA లో VBA లోని ఉచ్చులను అర్థం చేసుకోవడం తప్పనిసరి. ఎక్సెల్ లోని అనేక కణాలు లేదా వస్తువులకు ఒకే రకమైన కార్యాచరణను నిర్వహించడానికి లూప్ మిమ్మల్ని అనుమతిస్తుంది. నేటి వ్యాసంలో, మేము ప్రతి లూప్ విధానంపై దృష్టి పెట్టబోతున్నాము.
సింటాక్స్
ప్రతి లూప్ కోసం వస్తువులు లేదా వస్తువుల సమితి సేకరణ ద్వారా లూప్ చేయవచ్చు. సేకరణ అనేది “తెరిచిన అన్ని వర్క్బుక్లు”, “వర్క్బుక్లోని అన్ని వర్క్షీట్లు”, “వర్క్బుక్లోని అన్ని ఆకారాలు మరియు చార్ట్ల సేకరణ” తప్ప మరొకటి కాదు.
వాక్యనిర్మాణం చూద్దాం.
ప్రతి సేకరణలో వస్తువు ఏమి చేయాలి? తరువాత వస్తువు
ఉదాహరణకు, మీ వర్క్బుక్లో మీకు 10 షీట్లు ఉన్నాయి మరియు మీరు ఉన్నది మినహా అన్ని వర్క్షీట్లను దాచాలనుకుంటున్నారు. మీరు మానవీయంగా దాచగలరా, అవును మీరు చేయగలరు కాని మీకు 100 షీట్లు ఉంటే అది బోరింగ్ మరియు సమయం కాదు చేయవలసిన పని. ప్రతి లూప్ కోసం మీరు దీన్ని చేయవచ్చు.
VBA లోని ప్రతి లూప్కు ఎలా ఉపయోగించాలి? (ఉదాహరణలు)
ప్రతి లూప్ మూస కోసం మీరు ఈ VBA ని ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - ప్రతి లూప్ మూసకు VBAఉదాహరణ # 1 - అన్ని షీట్లలో ఒకే వచనాన్ని చొప్పించండి
సరళమైన ఉదాహరణతో VBA లో ప్రతిదానికి ఎలా ఉపయోగించాలో చూద్దాం. మీకు వర్క్బుక్లో 5 వర్క్షీట్లు ఉన్నాయని అనుకోండి మరియు మీరు సెల్ A1 లోని అన్ని వర్క్షీట్లలో “హలో” అనే పదాన్ని చేర్చాలనుకుంటున్నారు.
మేము ప్రతి లూప్ కోసం దీన్ని చేయవచ్చు. మీరు ఇక్కడ గుర్తుంచుకోవలసిన ఒక విషయం ఏమిటంటే, మేము వాస్తవానికి ఈ వర్క్షీట్లో కాకుండా ప్రతి వర్క్షీట్లో ఈ కార్యాచరణను చేస్తున్నాము. VBA కోడ్ రాయడానికి క్రింది దశలను అనుసరించండి.
దశ 1: ఎక్సెల్ మాక్రోను ప్రారంభించండి.
కోడ్:
ఉప For_Each_Example1 () ముగింపు ఉప
దశ 2: మేము వర్క్షీట్లను సూచిస్తున్నందున వేరియబుల్ను “వర్క్షీట్” గా ప్రకటిస్తాము.
కోడ్:
వర్క్ షీట్ ఎండ్ సబ్ గా సబ్__ఎచ్_ఎక్సాంపుల్ 1 () డిమ్ డబ్ల్యూఎస్
దశ 3: ఇప్పుడు ప్రతి లూప్ కోసం మనం క్రియాశీల వర్క్బుక్లోని ప్రతి వర్క్షీట్ను సూచించాలి.
కోడ్:
యాక్టివ్వర్క్బుక్లోని ప్రతి Ws కోసం వర్క్షీట్గా మసకబారిన_ఎచ్_ఎక్సాంపుల్ 1 () వర్క్షీట్లు తదుపరి Ws ఎండ్ సబ్
దశ 4: ఇప్పుడు ప్రతి వర్క్షీట్లో మనం ఏమి చేయాలనుకుంటున్నామో రాయండి. ప్రతి వర్క్షీట్లో “హలో” అనే పదాన్ని సెల్ A1 లో ఉంచాలి.
కోడ్:
యాక్టివ్వర్క్బుక్లోని ప్రతి Ws కోసం వర్క్షీట్గా ఉప For_Each_Example1 () మసకబారిన Ws.Worksheets Ws.Range ("A1"). విలువ = "హలో" తదుపరి Ws ముగింపు ఉప
దశ 5: ఇప్పుడు ఈ కోడ్ను ఆప్షన్ ద్వారా మాన్యువల్గా రన్ చేయండి లేదా సత్వరమార్గం కీ F5 నొక్కండి, మీకు ఎన్ని షీట్లు ఉన్నా అది అన్ని వర్క్షీట్లలో “హలో” అనే పదాన్ని చొప్పిస్తుంది.
ఉదాహరణ # 2 - అన్ని షీట్లను దాచండి
పోస్ట్లో ఇంతకు ముందే చెప్పినట్లుగా, మీరు ఉన్నది తప్ప మీరు దాచడానికి వందలాది షీట్లు ఉంటే. ప్రతి లూప్ కోసం, మేము అన్ని షీట్లను ఎక్సెల్లో దాచవచ్చు.
దశ 1: మీ పేరుతో స్థూలతను ప్రారంభించండి.
కోడ్:
ఉప For_Each_Example2 () ముగింపు ఉప
దశ 2: వేరియబుల్ను “Ws”.
కోడ్:
వర్క్షీట్ ఎండ్ సబ్ గా సబ్_ఎచ్_ఎక్సాంపుల్ 2 () డిమ్ డబ్ల్యుఎస్
దశ 3: ఇప్పుడు ప్రతి వర్క్షీట్లో మీరు చేయవలసింది షీట్ను దాచడం.
కోడ్:
ActiveWorkbook.Worksheets Ws.Visible = xlSheetVeryHidden నెక్స్ట్ Ws ఎండ్ సబ్
దశ 4: కానీ మీరు పై కోడ్ను అమలు చేస్తే అది అన్ని షీట్లను దాచడానికి ప్రయత్నిస్తుంది కాని ఎక్సెల్ కనిపించడానికి కనీసం ఒక షీట్ అవసరం. కాబట్టి ఏ షీట్ దాచకూడదో చెప్పాలి.
కోడ్:
యాక్టివ్వర్క్బుక్లోని ప్రతి డబ్ల్యుఎస్కి వర్క్షీట్గా డిమ్ డబ్ల్యుఎస్.
ది ఆపరేటర్ గుర్తు అంటే VBA లో సమానం కాదు.
కాబట్టి మీరు క్రియాశీల వర్క్బుక్లోని అన్ని వర్క్షీట్ల ద్వారా లూప్ చేస్తున్నప్పుడు షీట్ పేరు మెయిన్ షీట్ యొక్క షీట్ పేరుకు సమానం కాకపోతే మాత్రమే దాచండి.
VBA లోని IF స్టేట్మెంట్ ఉపయోగించి దీన్ని చేయవచ్చు. కోడ్ను IF Ws.Name “Main Sheet” అని వ్రాయండి అప్పుడు దాచండి లేదా అది “మెయిన్ షీట్” అనే షీట్ పేరుకు సమానం అయితే దాచవద్దు.
దశ 5: ఇప్పుడు F5 కీని ఉపయోగించి కోడ్ను అమలు చేయండి లేదా మానవీయంగా, అది “మెయిన్ షీట్” అని పిలువబడే మినహా అన్ని వర్క్షీట్లను దాచిపెడుతుంది.
ఉదాహరణ # 3 - అన్ని షీట్లను అన్హైడ్ చేయండి
మనం ఉన్నది తప్ప అన్ని షీట్లను ఎలా దాచాలో చూశాము. అదేవిధంగా, మేము అన్ని వర్క్షీట్లను కూడా అన్హైడ్ చేయవచ్చు.
మేము కోడ్ను మార్చాలి xlSheetVeryHidden కు xlSheetVisible.
కోడ్:
ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws End Sub లో ప్రతి Ws కోసం వర్క్షీట్గా ఉప__ఎచ్_ఎక్సాంపుల్ 3 () మసకబారిన Ws
ఇక్కడ మాకు IF షరతు అవసరం లేదు ఎందుకంటే మేము అన్ని షీట్లను దాచిపెడుతున్నాము. మీరు ఏదైనా నిర్దిష్ట షీట్ను దాచకూడదనుకుంటే, మీరు IF షరతును ఉపయోగించుకోవచ్చు మరియు షీట్ పేరును సరఫరా చేయవచ్చు.
ఉదాహరణ # 4 - అన్ని షీట్లను రక్షించండి మరియు రక్షించండి
అన్ని షీట్లను రక్షించండి: మేము వర్క్బుక్లోని అన్ని షీట్లను కేవలం కోడ్ ముక్కతో రక్షించగలము. అన్ని కోడ్ ఒకేలా ఉంటుంది, ఇక్కడ మనం చేయవలసినది Ws కు బదులుగా. కనిపించే విధంగా మనం Ws కోడ్ ఉంచాలి. పాస్వర్డ్ను రక్షించండి మరియు టైప్ చేయండి.
కోడ్:
ActiveWorkbook.Worksheets Ws.Protect Password: = "Excel @ 2019" Next Ws End Sub లో ప్రతి Ws కోసం వర్క్షీట్గా ఉప For_Each_Example4 () మసకబారిన Ws.
అన్ని షీట్లను అసురక్షితంగా ఉంచండి: ఇదే విధమైన గమనికలో, vba ని ఉపయోగించి వర్క్బుక్లో రక్షించబడిన అన్ని షీట్లను కూడా మేము అసురక్షితంగా చేయవచ్చు. మేము అసురక్షిత మరియు పాస్వర్డ్ అనే పదాన్ని ఉంచాలి.
కోడ్:
ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 2019" Next Ws End Sub లో ప్రతి Ws కోసం వర్క్షీట్గా ఉప For_Each_Example6 () మసకబారిన Ws.
గుర్తుంచుకోవలసిన విషయాలు
- ప్రతి వస్తువుల సేకరణ కోసం.
- ఇది పేర్కొన్న వర్క్బుక్లోని పేర్కొన్న అన్ని వస్తువులను పరిశీలిస్తుంది.
- వేరియబుల్ ప్రకటించేటప్పుడు మనం ఏ వస్తువును సూచిస్తున్నామో అది అవసరం. ఉదాహరణకు వర్క్షీట్, వర్క్బుక్, చార్ట్ మొదలైనవి.