అప్లికేషన్ కోసం విజువల్ బేసిక్‌లో శ్రేణులు

అప్లికేషన్ కోసం విజువల్ బేసిక్‌లోని శ్రేణులు సాధారణంగా ఒకే రకమైన సంబంధిత వేరియబుల్స్ సెట్‌లను నిల్వ చేసే నిర్మాణాలు. అర్రే ఎంట్రీలు వాటి సంఖ్యా సూచిక ద్వారా యాక్సెస్ చేయబడతాయి.

ఉదాహరణకు, 20 మంది వ్యక్తుల బృందం ఉంది, వారి పేర్లను VBA కోడ్‌లో తదుపరి ఉపయోగం కోసం సేవ్ చేయాలి. ప్రతి పేరును ఉంచడానికి 20 వేరియబుల్‌లను ప్రకటించవచ్చు, ఇలా:

మసకబారిన టీమ్_మెంబర్1 స్ట్రింగ్‌గా డిమ్ టీమ్_మెంబర్2ని స్ట్రింగ్‌గా డిమ్ ... టీమ్_మెంబర్20 స్ట్రింగ్‌గా డిమ్

కానీ మీరు చాలా సరళమైన మరియు మరింత వ్యవస్థీకృత మార్గాన్ని ఉపయోగించవచ్చు - వంటి 20 వేరియబుల్స్ యొక్క శ్రేణిలో జట్టు సభ్యుల పేర్ల జాబితాను నిల్వ చేయండి స్ట్రింగ్:

మసకబారిన బృందం_సభ్యులు(1 నుండి 20) స్ట్రింగ్ వలె

పైన చూపిన లైన్‌లో, మేము శ్రేణిని ప్రకటించాము. ఇప్పుడు దానిలోని ప్రతి మూలకానికి విలువను ఇలా వ్రాస్దాం:

బృందం_సభ్యులు(1) = "జాన్ స్మిత్"

శ్రేణిలోని ప్రతి మూలకంపై ఒకే చర్యను నిర్వహించాల్సిన అవసరం వచ్చినప్పుడు, ప్రత్యేక వేరియబుల్స్‌తో పోలిస్తే, శ్రేణిలో డేటాను నిల్వ చేయడం యొక్క అదనపు ప్రయోజనం స్పష్టంగా కనిపిస్తుంది. బృంద సభ్యుల పేర్లు 20 వేర్వేరు వేరియబుల్స్‌లో నిల్వ చేయబడితే, వాటిలో ప్రతిదానిపై ఒకే విధమైన చర్యను చేయడానికి ప్రతిసారీ వ్రాయడానికి 20 పంక్తుల కోడ్ పడుతుంది. అయితే, పేర్లు శ్రేణిలో నిల్వ చేయబడితే, మీరు సాధారణ లూప్‌ని ఉపయోగించి వాటిలో ప్రతిదానితో కావలసిన చర్యను చేయవచ్చు.

ఇది ఎలా పని చేస్తుందనేది కోడ్ ఉదాహరణతో క్రింద ప్రదర్శించబడింది, ఇది ప్రతి బృంద సభ్యుల పేర్లను కాలమ్ సెల్‌లలో వరుసగా ప్రింట్ చేస్తుంది. A క్రియాశీల Excel వర్క్‌షీట్.

i = 1 నుండి 20 సెల్‌ల కోసం(i,1).విలువ = Team_Members(i) తదుపరి i

సహజంగానే, 20 పేర్లను నిల్వ చేసే శ్రేణితో పని చేయడం 20 వేర్వేరు వేరియబుల్‌లను ఉపయోగించడం కంటే చాలా తక్కువ గజిబిజిగా మరియు మరింత ఖచ్చితమైనది. అయితే ఈ పేర్లు 20 కాదు, 1000 అయితే? మరియు, అదనంగా, ఇంటిపేర్లు మరియు పోషకపదాలను విడిగా ఉంచడం అవసరమైతే?! శ్రేణి సహాయం లేకుండా VBA కోడ్‌లో అటువంటి డేటా వాల్యూమ్‌ను నిర్వహించడం త్వరలో పూర్తిగా అసాధ్యం అవుతుంది.

ఎక్సెల్ విజువల్ బేసిక్‌లో బహుమితీయ శ్రేణులు

పైన చర్చించిన విజువల్ బేసిక్ శ్రేణులు ఒక డైమెన్షనల్‌గా పరిగణించబడతాయి. దీని అర్థం వారు సాధారణ పేర్ల జాబితాను నిల్వ చేస్తారు. అయినప్పటికీ, శ్రేణులు బహుళ కొలతలు కలిగి ఉండవచ్చు. ఉదాహరణకు, రెండు డైమెన్షనల్ శ్రేణిని విలువల గ్రిడ్‌తో పోల్చవచ్చు.

మీరు 5 వేర్వేరు బృందాల కోసం జనవరిలో రోజువారీ విక్రయాల గణాంకాలను సేవ్ చేయాలనుకుంటున్నారని అనుకుందాం. దీనికి 5 రోజుల పాటు 31 సెట్ల కొలమానాలతో కూడిన ద్విమితీయ శ్రేణి అవసరం. ఇలా శ్రేణిని డిక్లేర్ చేద్దాం:

డిమ్ జాన్_సేల్స్_ఫిగర్స్ (1 నుండి 31, 1 నుండి 5) కరెన్సీగా

శ్రేణి మూలకాలను యాక్సెస్ చేయడానికి Jan_Sales_Figures, మీరు నెల రోజు మరియు ఆదేశ సంఖ్యను సూచించే రెండు సూచికలను ఉపయోగించాలి. ఉదాహరణకు, విక్రయాల గణాంకాలను కలిగి ఉన్న మూలకం యొక్క చిరునామా 2-ఓహ్ కోసం జట్లు 15 వ జనవరి ఇలా వ్రాయబడుతుంది:

జనవరి_సేల్స్_గణాంకాలు(15, 2)

అదే విధంగా, మీరు 3 లేదా అంతకంటే ఎక్కువ పరిమాణాలతో శ్రేణిని ప్రకటించవచ్చు - శ్రేణి డిక్లరేషన్‌కు అదనపు కొలతలు జోడించండి మరియు ఈ శ్రేణి యొక్క మూలకాలను సూచించడానికి అదనపు సూచికలను ఉపయోగించండి.

ఎక్సెల్ విజువల్ బేసిక్‌లో శ్రేణులను ప్రకటించడం

ఈ ఆర్టికల్‌లో ముందుగా, VBAలో ​​శ్రేణులను ప్రకటించే అనేక ఉదాహరణలను మేము ఇప్పటికే చూశాము, అయితే ఈ అంశం నిశితంగా పరిశీలించాల్సిన అవసరం ఉంది. చూపినట్లుగా, ఒక డైమెన్షనల్ శ్రేణిని ఇలా ప్రకటించవచ్చు:

మసకబారిన బృందం_సభ్యులు(1 నుండి 20) స్ట్రింగ్ వలె

అటువంటి డిక్లరేషన్ VBA కంపైలర్‌కు శ్రేణిని తెలియజేస్తుంది జట్టు సభ్యులు 20 నుండి 1 వరకు సూచికల వద్ద ప్రాప్తి చేయగల 20 వేరియబుల్‌లను కలిగి ఉంటుంది. అయినప్పటికీ, మేము మా శ్రేణి వేరియబుల్స్‌ను 0 నుండి 19 వరకు లెక్కించవచ్చు, ఈ సందర్భంలో శ్రేణిని ఇలా ప్రకటించాలి:

మసకబారిన బృందం_సభ్యులు(0 నుండి 19) స్ట్రింగ్ వలె

వాస్తవానికి, డిఫాల్ట్‌గా, శ్రేణి మూలకాల సంఖ్య 0 నుండి ప్రారంభమవుతుంది మరియు అర్రే డిక్లరేషన్‌లో, ప్రారంభ సూచిక ఇలా పేర్కొనబడకపోవచ్చు:

మసక బృందం_సభ్యులు(19) స్ట్రింగ్ వలె

VBA కంపైలర్ 20 నుండి 0 వరకు సూచికలతో 19 మూలకాల శ్రేణిని ప్రకటించడం వంటి ఎంట్రీని పరిగణిస్తుంది.

మల్టీడైమెన్షనల్ విజువల్ బేసిక్ శ్రేణులను ప్రకటించేటప్పుడు అదే నియమాలు వర్తిస్తాయి. ఉదాహరణలలో ఒకదానిలో ఇప్పటికే చూపినట్లుగా, రెండు డైమెన్షనల్ శ్రేణిని ప్రకటించేటప్పుడు, దాని కొలతలు యొక్క సూచికలు కామాతో వేరు చేయబడతాయి:

డిమ్ జాన్_సేల్స్_ఫిగర్స్ (1 నుండి 31, 1 నుండి 5) కరెన్సీగా

అయితే, మీరు శ్రేణి యొక్క రెండు కొలతలు కోసం ప్రారంభ సూచికను పేర్కొనకపోతే మరియు దానిని ఇలా ప్రకటించండి:

డిమ్ జాన్_సేల్స్_ఫిగర్స్(31, 5) కరెన్సీగా

అప్పుడు ఈ ఎంట్రీ ద్విమితీయ శ్రేణిగా పరిగణించబడుతుంది, దీని మొదటి పరిమాణం 32 నుండి 0 వరకు సూచికలతో 31 మూలకాలను కలిగి ఉంటుంది మరియు శ్రేణి యొక్క రెండవ పరిమాణం 6 నుండి 0 వరకు సూచికలతో 5 మూలకాలను కలిగి ఉంటుంది.

డైనమిక్ శ్రేణులు

పై ఉదాహరణలలోని అన్ని శ్రేణులు నిర్ణీత సంఖ్యలో కొలతలు కలిగి ఉంటాయి. అయితే, చాలా సందర్భాలలో మన శ్రేణి ఎంత పరిమాణంలో ఉండాలో మనకు ముందుగా తెలియదు. భారీ శ్రేణిని ప్రకటించడం ద్వారా మేము పరిస్థితి నుండి బయటపడవచ్చు, దాని పరిమాణం ఖచ్చితంగా మా పనికి అవసరమైన దానికంటే పెద్దదిగా ఉంటుంది. కానీ అలాంటి పరిష్కారానికి చాలా అదనపు మెమరీ అవసరమవుతుంది మరియు ప్రోగ్రామ్‌ను నెమ్మదిస్తుంది. మంచి పరిష్కారం ఉంది. మేము డైనమిక్ శ్రేణిని ఉపయోగించవచ్చు - ఇది మాక్రో యొక్క అమలు సమయంలో ఎన్నిసార్లు అయినా పరిమాణాన్ని సెట్ చేయవచ్చు మరియు మార్చవచ్చు.

డైనమిక్ అర్రే ఇలా ఖాళీ కుండలీకరణాలతో ప్రకటించబడింది:

మసక బృందం_సభ్యులు() స్ట్రింగ్ వలె

తరువాత, మీరు వ్యక్తీకరణను ఉపయోగించి కోడ్ అమలు సమయంలో శ్రేణి యొక్క పరిమాణాన్ని ప్రకటించాలి రీడిమ్:

ReDim Team_Members(1 నుండి 20)

మరియు కోడ్ అమలు సమయంలో మీరు శ్రేణి యొక్క పరిమాణాన్ని మళ్లీ మార్చవలసి వస్తే, మీరు మళ్లీ ReDim వ్యక్తీకరణను ఉపయోగించవచ్చు:

టీమ్_సైజ్ > 20 అయితే, టీమ్_మెంబర్‌లను రీడిమ్ చేయండి(1 నుండి టీమ్_సైజ్) ముగుస్తుంది

ఈ విధంగా డైనమిక్ శ్రేణి పరిమాణాన్ని మార్చడం వలన శ్రేణిలో నిల్వ చేయబడిన అన్ని విలువలు కోల్పోతాయని గుర్తుంచుకోండి. శ్రేణిలో ఇప్పటికే డేటాను నిల్వ చేయడానికి, మీరు కీవర్డ్‌ని ఉపయోగించాలి ప్రిజర్వ్క్రింద చూపిన విధంగా:

టీమ్_సైజ్ > 20 అయితే, రీడిమ్ ప్రిజర్వ్ టీమ్_మెంబర్స్(1 నుండి టీమ్_సైజ్) ముగుస్తుంది

దురదృష్టవశాత్తు కీవర్డ్ ప్రిజర్వ్ శ్రేణి పరిమాణం యొక్క ఎగువ సరిహద్దును మార్చడానికి మాత్రమే ఉపయోగించబడుతుంది. శ్రేణి యొక్క దిగువ సరిహద్దును ఈ విధంగా మార్చలేరు. అలాగే, శ్రేణి బహుళ కొలతలు కలిగి ఉంటే, కీవర్డ్‌ని ఉపయోగించడం ప్రిజర్వ్, శ్రేణి యొక్క చివరి పరిమాణం మాత్రమే పరిమాణం మార్చబడుతుంది.

సమాధానం ఇవ్వూ