ఈ ట్యుటోరియల్ ప్రోగ్రామింగ్ ఉదాహరణల సహాయంతో VBA శ్రేణి, వివిధ శ్రేణి రకాలు, వేరియంట్ శ్రేణి మరియు శ్రేణి పద్ధతులను వివరిస్తుంది:
ఒక సాధారణ VBA వేరియబుల్ అనేది నిల్వ చేసే ప్లేస్ హోల్డర్. ఒకే డేటా విలువ. ఇది 1 నుండి 1 సంబంధాన్ని కలిగి ఉంది అంటే 1 విలువకు 1 వేరియబుల్.
ఇప్పుడు ఒకే రకమైన బహుళ విలువలను నిల్వ చేయడాన్ని ఊహించండి. బహుళ వేరియబుల్లను సృష్టించడానికి బదులుగా, మీరు కేవలం ఒక వేరియబుల్ని సృష్టించవచ్చు మరియు ఒకే రకమైన విలువలను నిల్వ చేయవచ్చు. ఈ వేరియబుల్ను ARRAY అని పిలుస్తారు.
ఈ ట్యుటోరియల్లో, ఫిక్స్డ్ మరియు డైనమిక్ వంటి వివిధ రకాల శ్రేణులతో పాటు VBA శ్రేణి, ఒక డైమెన్షనల్ మరియు టూ-డైమెన్షనల్ శ్రేణులు అంటే ఏమిటో మీరు తెలుసుకుంటారు. మేము VBAలో ఉపయోగించే వివిధ శ్రేణి పద్ధతులను కూడా అర్థం చేసుకుంటాము.
VBA అర్రే
అరేలు అనేది ఒకే రకమైన డేటా రకం యొక్క బహుళ విలువలను నిల్వ చేయగల ప్రత్యేక రకమైన వేరియబుల్. .
ఉదాహరణకు, మీరు 100 మంది ఉద్యోగుల పేర్లను కలిగి ఉంటే, డేటా టైప్ స్ట్రింగ్ యొక్క 100 వేరియబుల్స్ని సృష్టించే బదులు, మీరు టైప్ స్ట్రింగ్లో ఒక అర్రే వేరియబుల్ని సృష్టించి, 100 విలువలను కేటాయించవచ్చు. అదే శ్రేణి వేరియబుల్కు.
వన్ డైమెన్షనల్ అర్రే
ఒకే వరుసలో లేదా ఒకే నిలువు వరుసలో అన్ని మూలకాలను కలిగి ఉన్న శ్రేణిని వన్-డైమెన్షనల్ అర్రే అంటారు. తరగతిలోని విద్యార్థులందరి పేర్లను ఒకే కాలమ్లో జాబితా చేయడం ఒక డైమెన్షనల్ శ్రేణికి ఉదాహరణ. చూపిన విధంగా ఇది ప్రకటించబడిందిదిగువ చూపిన విధంగా శ్రేణి ప్రకటించబడింది.
Dim ArrayName(FirstIndex to LastIndex, FirstIndex to LastIndex) DataType వలె.
ఉదాహరణ: మసక గుర్తులు(1 నుండి 3 వరకు , 0 నుండి 2) పూర్ణాంకం వలె
Q #3) పరిధిని అర్రేకి ఎలా మార్చాలి?
సమాధానం: మేము ట్రాన్స్పోజ్ ఫంక్షన్ని ఉపయోగించవచ్చు పరిధిని శ్రేణికి మార్చడానికి. ఈ కోడ్ Mysని సృష్టిస్తుంది[10]
Sub Example() Dim Mys As Variant Mys = Application.Transpose(Range("A1:A10")) End Sub
Q #4) VBAలో అర్రే వేరియంట్ అంటే ఏమిటి?
సమాధానం: వేరియంట్ శ్రేణి దాని ఇండెక్స్ కోసం అన్ని రకాల డేటా రకాలను అంగీకరిస్తుంది అంటే మీరు ఒకే శ్రేణిలో వివిధ రకాల విలువలను నిల్వ చేయవచ్చు.
ఉదాహరణ:
మసకబారిన arrayData(3) వేరియంట్గా
arrayData(0) = “Vikas Vipal”
arrayData(1) = 411234567890#
ఈ సమయంలో శ్రేణిని పునఃపరిమాణం చేసే మార్గాలు రన్టైమ్ మరియు రీడిమ్ ప్రిజర్వ్ని ఉపయోగించి విలువలను సంరక్షించడం ఉదాహరణలతో చర్చించబడింది. చివరగా, మేము అనేక కార్యకలాపాలను చేయడంలో మాకు సహాయపడే అర్రే పద్ధతులను నేర్చుకున్నాము.
దిగువన.Dim arrayname(lowerbound to UpperBound) DataType వలె
శ్రేణిని ప్రకటించడానికి అనేక మార్గాలు ఉన్నాయి. క్రింద కొన్ని ఉదాహరణలు ఇవ్వబడ్డాయి.
ఉదాహరణ:
#1) Dim MyArrayExample(0 నుండి 3) పూర్ణాంకం వలె
0 పూర్ణాంక విలువలను ఆమోదించే స్థానం 0,1,2,3తో శ్రేణిని సృష్టిస్తుంది.#2) Dim MyArray2(3) స్ట్రింగ్గా
0 నుండి డిఫాల్ట్లు 3కి మరియు స్ట్రింగ్ విలువలను ఆమోదించే స్థానం 0,1,2,3తో శ్రేణిని సృష్టిస్తుంది.
#3) Dim MyArray2(13 నుండి 15) డబుల్ గా
13 అనగా 13, 14 మరియు 15 నుండి ప్రారంభమయ్యే శ్రేణిని సృష్టిస్తుంది మరియు డబుల్ విలువలను అంగీకరిస్తుంది. మేము దిగువ బౌండ్ను 13గా పేర్కొన్నాము, కాబట్టి శ్రేణి 0 కంటే స్థానం 13 నుండి విలువలను కేటాయించడం ప్రారంభిస్తుంది.
ఒక సాధారణ కోడ్ని సృష్టించి, అర్రే డిక్లరేషన్ యొక్క మొత్తం 3 మార్గాలను అర్థం చేసుకుందాం.
గమనిక: VB కోడ్ రాయడానికి Microsoft Excelని తెరవండి (మద్దతు ఉన్న సంస్కరణలు Excel 2007, 2010, 2013, 2016, 2019). డెవలపర్ ట్యాబ్ ->కి నావిగేట్ చేయండి; విజువల్ బేసిక్ (ప్రత్యామ్నాయంగా షార్ట్కట్ Alt+F11ని ఉపయోగించండి). VB ఎడిటర్లో, ఇన్సర్ట్ -> మాడ్యూల్ మరియు దిగువ కోడ్ను అతికించండి.
వివిధ రకాల డిక్లరేషన్లను చూపే క్రింది విధానాన్ని పరిగణించండి.
Private Sub arrayExample1() Dim firstQuarter(0 To 2) As String ‘creates array with index 0,1,2 firstQuarter(0) = "Jan" firstQuarter(1) = "Feb" firstQuarter(2) = "Mar" MsgBox "First Quarter in calendar " & " " & firstQuarter(0) & " " & firstQuarter(1) & " " & firstQuarter(2) End Sub Private Sub arrayExample2() Dim secondQuarter(2) As String ‘creates array with index 0,1,2 secondQuarter(0) = "April" secondQuarter(1) = "May" secondQuarter(2) = "June" MsgBox "Second Quarter in calendar " & " " & secondQuarter(0) & " " & secondQuarter(1) & " " & secondQuarter(2) End Sub Private Sub arrayExample3() Dim thirdQuarter(13 To 15) As String ‘creates array with index 13,14,15 thirdQuarter(13) = "July" thirdQuarter(14) = "Aug" thirdQuarter(15) = "Sep" MsgBox "Third Quarter in calendar " & " " & thirdQuarter(13) & " " & thirdQuarter(14) & " " & thirdQuarter(15) End Sub
F5 నొక్కండి లేదా టూల్బార్లోని రన్ బటన్ను నొక్కండి కోడ్ని అమలు చేయడానికి.
రెగ్యులర్ వేరియబుల్ Vs అర్రే వేరియబుల్
ఒక డైమెన్షనల్ అర్రే ఎలా పనిచేస్తుందో ఇప్పుడు మనకు తెలుసు. కాబట్టి శ్రేణులు ఎందుకు చాలా కీలకమైనవో అర్థం చేసుకోవడానికి కొంత సమయం తీసుకుందాంప్రోగ్రామింగ్ లాంగ్వేజెస్.
మీరు 5 మంది ఉద్యోగుల జీతం నమోదు చేయవలసి ఉంటుందని భావించండి. సాధారణ వేరియబుల్ని ఉపయోగించి దీన్ని సాధించడానికి, మీరు 5 వేరియబుల్లను సృష్టించాలి.
Public Sub RegularVariable() Dim shet As Worksheet Set shet = ThisWorkbook.Worksheets("Sheet1") ' Declare variable for each student Dim Emp1 As String Dim Emp2 As String Dim Emp3 As String Dim Emp4 As String Dim Emp5 As String ' Read student marks from cell Emp1 = shet.Range("A" & 2).Value Emp2 = shet.Range("A" & 3).Value Emp3 = shet.Range("A" & 4).Value Emp4 = shet.Range("A" & 5).Value Emp5 = shet.Range("A" & 6).Value ' Print student marks Debug.Print "Emp Name" Debug.Print Emp1 Debug.Print Emp2 Debug.Print Emp3 Debug.Print Emp4 Debug.Print Emp5 End Sub
ఇప్పుడు అదే కోడ్ని అర్రే వేరియబుల్ని ఉపయోగించి బిల్డ్ చేద్దాం.
Option Explicit Public Sub ArrayVarible() Dim shet As Worksheet Set shet = ThisWorkbook.Worksheets("Sheet1") Dim Employee(1 To 6) As String Dim i As Integer For i = 1 To 6 Employee(i) = shet.Range("A" & i).Value Debug.Print Employee(i) Next i End Sub
ఇక్కడ, మేము ఇప్పుడే అన్ని ఉద్యోగుల పేర్లను నిల్వ చేసే ఒక శ్రేణి వేరియబుల్ని ఉపయోగించాము. మీరు మరో 100 మంది ఉద్యోగుల పేర్లను జోడించాలి అనుకుందాం, ఆపై మీరు శ్రేణి పరిమాణాన్ని మార్చాలి మరియు కొత్త వేరియబుల్ని సృష్టించాల్సిన అవసరం లేదు.
ఇది కోడ్లోని లైన్ల సంఖ్యను తగ్గిస్తుంది మరియు తద్వారా సులభంగా చేస్తుంది అర్థమయ్యేలా మరియు చదవగలిగేది.
ద్విమితీయ శ్రేణి
2-డైమెన్షనల్ శ్రేణి 2 సూచికలను కలిగి ఉంటుంది - మొదటి సూచిక అడ్డు వరుసలను సూచిస్తుంది మరియు 2వ సూచిక నిలువు వరుసను సూచిస్తుంది. ఇది బహుళ అడ్డు వరుసలు మరియు నిలువు వరుసలను కలిగి ఉంటుంది మరియు సాధారణంగా పట్టిక ఆకృతిలో సూచించబడుతుంది.
2 డిమ్ శ్రేణి యొక్క ప్రకటన క్రింది విధంగా ఉంటుంది:
Dim ArrayName(FirstIndex లాస్ట్ఇండెక్స్కి, ఫస్ట్ఇండెక్స్కి లాస్ట్ఇండెక్స్) డేటాటైప్గా.
3 సబ్జెక్టులలో పొందిన 2 మంది విద్యార్థుల మార్కులను నిల్వ చేయడానికి ఒక ఉదాహరణను పరిగణించండి. కాబట్టి మేము 2 వరుసలు మరియు 3 నిలువు వరుసలను తీసుకునే 2-డైమెన్షనల్ శ్రేణిని సృష్టిస్తాము.
మేము శ్రేణిని అడ్డు వరుస 1 నుండి అడ్డు వరుస 2 వరకు మరియు నిలువు వరుస 1 నుండి నిలువు వరుస 3 వరకు ప్రారంభిస్తాము.
Sub Twodim() Dim totalMarks(1 To 2, 1 To 3) As Integer totalMarks(1, 1) = 23 totalMarks(2, 1) = 34 totalMarks(1, 2) = 33 totalMarks(2, 2) = 55 totalMarks(1, 3) = 45 totalMarks(2, 3) = 44 Msgbox “Total Marks in Row 2 and column 2 is “ &totalMarks(2,2) Msgbox “Total Marks in Row 1 and column 3 is “ &totalMarks(1,3) End Sub
F5 నొక్కండి. లేదా కోడ్ని అమలు చేయడానికి టూల్బార్లోని రన్ బటన్ను నొక్కండి.
వరుస 2 మరియు నిలువు వరుస 2
వరుస 1 మరియు నిలువు వరుస 3
స్థిర శ్రేణులు
స్థిర శ్రేణులను స్టాటిక్ అని కూడా పిలుస్తారుశ్రేణులు స్థిర దిగువ సరిహద్దు మరియు ఎగువ సరిహద్దును కలిగి ఉంటాయి మరియు రన్ సమయంలో ఈ పరిమాణాన్ని మార్చలేరు. కుండలీకరణాల్లోని డిక్లరేషన్ సమయంలో శ్రేణి పరిమాణం పేర్కొనబడింది. మేము డిక్లరేషన్ సమయంలో దాని పరిమాణాన్ని పేర్కొన్నందున పైన పేర్కొన్న అన్ని ఉదాహరణలు స్థిర శ్రేణులు.
మీరు శ్రేణి పరిమాణం గురించి ఖచ్చితంగా ఉన్నప్పుడు సాధారణంగా స్థిర శ్రేణులు ఉపయోగించబడతాయి. ఉదాహరణకు, వారంలోని రోజుల సంఖ్య, మీరు దిగువ బౌండ్ 0 మరియు ఎగువ బౌండ్ 6తో శ్రేణిని సృష్టించవచ్చు మరియు మీరు దాని పరిమాణాన్ని ఎప్పటికీ మార్చరని నిర్ధారించుకోండి.
డైనమిక్ అర్రేలు
డైనమిక్ శ్రేణులు రన్ సమయంలో శ్రేణిని పునఃపరిమాణం చేయడానికి మాకు అనుమతిస్తాయి. శ్రేణి పరిమాణం గురించి మీకు ఖచ్చితంగా తెలియనప్పుడు ఇవి ఉపయోగకరంగా ఉంటాయి. కళాశాల అడ్మిషన్లో, వాస్తవానికి ఎంత మంది విద్యార్థులు అడ్మిషన్ పొందుతారనేది మీకు ఖచ్చితంగా తెలియకపోవచ్చు, కాబట్టి మీరు డిజైన్ లేదా డిక్లరేషన్ సమయంలో పరిమాణాన్ని నిర్ణయించలేరు.
డైనమిక్ అర్రే డిక్లరేషన్ స్టాటిక్ లాగానే ఉంటుంది. ఖాళీ కుండలీకరణాలతో శ్రేణి.
డిమ్ ఎంప్లాయీ() స్ట్రింగ్గా
REDIM
మనం పరిమాణాన్ని మార్చాలనుకున్నప్పుడు ని ఉపయోగించాలి. REDIM , దిగువ సరిహద్దుని మార్చలేమని మనం గమనించాలి, మేము శ్రేణి యొక్క ఎగువ సరిహద్దును మాత్రమే మార్చగలము.
Sub dynamicArray() Dim dynArray() As String Dim curdate As Date curdate = Now ReDim dynArray(2) ‘ Redim will help to change the array size during runtime dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled after " & curdate & " are “ & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) End Sub
ఇప్పుడు, మనం చేయగలమని మాకు తెలుసు రన్టైమ్ సమయంలో శ్రేణి యొక్క పరిమాణాన్ని మార్చండి, కాబట్టి మనం శ్రేణి యొక్క యుబౌండ్ను పెంచాల్సిన అవసరం వచ్చినప్పుడు మేము ReDim స్టేట్మెంట్ను ఉపయోగించవచ్చు. శ్రేణి పరిమాణాన్ని మరోసారి పెంచి, కొత్తదాన్ని జోడించడానికి ప్రయత్నిద్దాంవిద్యార్థి పేరు.
Sub RedimExample() Dim dynArray() As String Dim curdate As Date curdate = Now Dim size As Integer ReDim dynArray(2) dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) ReDim dynArray(3) ‘ Redim will reinitialise the array and destroy the old values dynArray(3) = "John" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) & " , " & dynArray(3) End Sub
ఫలితంలో ఇంతకు ముందు జోడించిన విద్యార్థుల పేర్లు కనిపించలేదని మీరు గమనించి ఉంటారు, అది శూన్య విలువను ఇస్తుంది. ఎందుకంటే Redim స్టేట్మెంట్ కొత్త పరిమాణంతో కొత్త శ్రేణిని సృష్టిస్తుంది మరియు పాత విలువలను నాశనం చేస్తుంది.
ReDim Preserve
Represerve స్టేట్మెంట్ పాత విలువలను సంరక్షించడం ద్వారా ReDim యొక్క పరిమితిని అధిగమించడంలో మాకు సహాయపడుతుంది. మరియు తద్వారా శ్రేణి పరిమాణం పెరుగుతుంది.
ReDim Preserveని ఉపయోగించి పై కోడ్ని మళ్లీ వ్రాద్దాం.
Sub preserveExample() Dim dynArray() As String Dim curdate As Date curdate = Now Dim size As Integer ReDim dynArray(2) dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) ReDim preserve dynArray(3) ‘ Redim preserve will retain the old values dynArray(3) = "John" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) & " , " & dynArray(3) End Sub
మనం ఉపయోగించిన విధంగా ప్రిజర్వ్ కీవర్డ్, గతంలో నమోదు చేసిన విలువలు కోల్పోలేదు మరియు కొత్త విలువ విజయవంతంగా జోడించబడింది.
వేరియంట్ అర్రే
ఇప్పటి వరకు మేము ఒకే రకమైన విలువలను అంగీకరించే శ్రేణిని చూశాము. ఇప్పుడు శ్రేణిని వేరియంట్గా ప్రకటించి, స్ట్రింగ్, డేట్, లాంగ్, పూర్ణాంకం వంటి వివిధ రకాల డేటాను ఒకే శ్రేణిలో నిల్వ చేద్దాం.
ఉదాహరణ:
Sub arrayVariant() Dim arrayData(3) As Variant arrayData(0) = "Vikram Vikrant" arrayData(1) = 411234567890# arrayData(2) = 38 arrayData(3) = "06-09-1972" MsgBox "Details of person " & arrayData(0) & " is " & " Phone No " & arrayData(1) & " ,Id " & arrayData(2) & " ,DOB " & arrayData(3) End Sub
VBA శ్రేణి పద్ధతులు
క్రింద పేర్కొన్న విధంగా విభిన్న విధులను నిర్వహించడానికి మాకు సహాయపడే అనేక పద్ధతులు VBA శ్రేణులలో ఉన్నాయి.
Sl. సం> | అరే(ఆర్గ్లిస్ట్) | సాధారణ వేరియంట్ వేరియబుల్ని అర్రేగా మారుస్తుంది. | |
---|---|---|---|
2 | ఎరేస్ | ఎరేస్ ఎరేయ్ నేమ్ | నిర్దిష్ట పరిమాణ శ్రేణిని రీఇన్షియల్ చేయడానికి ఉపయోగించబడుతుంది మరియు డైనమిక్ కోసం మెమరీని ఖాళీ చేస్తుందిశ్రేణి. |
3 | IsArray | IsArray (variablename) | అని నిర్ణయిస్తుంది వేరియబుల్ ఒక శ్రేణి. |
4 | Lbound | LBound( ArrayName, [డైమెన్షన్] ) | 26 శ్రేణిలో|
5 | Ubound | UBound( ArrayName , [డైమెన్షన్] ) | అరే యొక్క అత్యధిక సబ్స్క్రిప్ట్ ని అందిస్తుంది. |
6 | స్ప్లిట్ | స్ప్లిట్(వ్యక్తీకరణ, [ డిలిమిటర్, [ పరిమితి, [ పోలిచు ]]]) | ఇది స్ట్రింగ్ను బహుళ సబ్స్ట్రింగ్లుగా విభజిస్తుంది మరియు సున్నా ఆధారిత శ్రేణిని అందిస్తుంది. |
7 | చేరండి | Join(sourcearray, [ delimiter ]) | అరేలో బహుళ సబ్స్ట్రింగ్లను కలుపుతుంది మరియు స్ట్రింగ్ విలువను అందిస్తుంది . |
8 | ఫిల్టర్ | ఫిల్టర్(సోర్స్రే, మ్యాచ్, [ చేర్చండి, [ పోలిచు ]]) | ఫిల్టర్ శ్రేణి నుండి పేర్కొన్న సరిపోలికను శోధించడానికి అనుమతిస్తుంది. |
వాటిలో ప్రతి ఒక్కటి ఉదాహరణతో వివరంగా చర్చిద్దాం.
#1) అర్రే
ఒక సాధారణ వేరియంట్ వేరియబుల్ని డిక్లేర్ చేద్దాం మరియు దానిని అర్రేగా ఉపయోగిస్తాము. మీరు సాధారణ రూపాంతరం వేరియబుల్ను శ్రేణిగా మార్చాలనుకున్నప్పుడు, దిగువ ఉదాహరణలో చూపిన విధంగా మేము ARRAY ఫంక్షన్ని ఉపయోగించాలి.
అరే ఫంక్షన్లు కామాతో వేరు చేయబడిన విలువలను కలిగి ఉన్న ఆర్గ్యుమెంట్ను అంగీకరిస్తాయి. . ఈ విలువలు శ్రేణి యొక్క మూలకం వలె కేటాయించబడ్డాయి.
Sub variantArray() Dim varData As Variant varData = Array("Mon Bel", "+61 112334123", 567, "06-09-1972") MsgBox "Details of person " & varData(0) & " is " & " Phone No " & varData(1) & " ,Id " & varData(2) & " ,DOB " & varData(3) End Sub
మీరు సూచికను ఉపయోగించి శ్రేణి వేరియబుల్ను గుర్తించాలి,అందువల్ల పై ఉదాహరణలో, విలువలు varData(0) varData(2) varData(3)గా తిరిగి పొందబడతాయి.
#2) తొలగించు
ఈ ఫంక్షన్ a కోసం నమోదు చేయబడిన అన్ని విలువలను తొలగిస్తుంది. స్థిర పరిమాణ శ్రేణి మరియు డైనమిక్ శ్రేణి కోసం మెమరీ స్థలాన్ని ఖాళీ చేస్తుంది.
సింటాక్స్: ఎరేస్ శ్రేణి పేరు
ఇచ్చిన విధంగా వివిధ డేటా రకాల కోసం ఎరేస్ విభిన్న ప్రవర్తనను కలిగి ఉంటుంది దిగువన.
- స్థిర సంఖ్య కోసం: అన్ని విలువలు సున్నాకి రీసెట్ చేయబడ్డాయి.
- స్థిరమైన స్ట్రింగ్ డేటా రకం కోసం: అన్ని విలువలు సున్నా పొడవుకు రీసెట్ చేయబడ్డాయి.
- డైనమిక్ అర్రే కోసం: శ్రేణి ఉపయోగించే మెమరీని ఖాళీ చేస్తుంది.
ఉదాహరణ :
Sub eraseExample() Dim NumArray(3) As Integer Dim decArray(2) As Double Dim strArray(2) As String NumArray(0) = 12345 decArray(1) = 34.5 strArray(1) = "Erase Function" Dim DynaArray() ReDim DynaArray(3) MsgBox " Values before Erase " & (NumArray(0)) & "," & (decArray(1)) & " , " & (strArray(1)) Erase NumArray Erase decArray Erase strArray Erase DynaArray ' Free the memory ' All values are erased. MsgBox " Values after Erase " & NumArray(0) & "," & decArray(1) & " , " & strArray(1) End Sub
ఎరేస్ ఫంక్షన్ని ఉపయోగించే ముందు ఫలితం
ఎరేస్ ఉపయోగించిన తర్వాత ఫలితం
#3) IsArray
ఇచ్చిన ఇన్పుట్ వేరియబుల్ అర్రే కాదా అని నిర్ణయించడానికి ఈ ఫంక్షన్ ఉపయోగించబడుతుంది. ఎంటర్ చేసిన వేరియబుల్ ఒప్పు అయితే అది నిజం అని తిరిగి వస్తుంది, లేకుంటే అది తప్పు అని చూపుతుంది.
సింటాక్స్ : IsArray (variablename)
ఉదాహరణ:
Sub isArrayTest() Dim arr1, arr2 As Variant arr1 = Array("Jan", "Feb", "Mar") arr2 = "12345" MsgBox ("Is arr1 an Array : " & IsArray(arr1)) MsgBox ("Is arr2 an Array : " & IsArray(arr2)) End
మొదటి Msgbox నుండి ఫలితం
రెండవ msgbox నుండి ఫలితం
#4) Lbound
ఇది Lbound ఫంక్షన్ కోసం ఆర్గ్యుమెంట్గా పేర్కొనబడిన శ్రేణి యొక్క అతి తక్కువ సబ్స్క్రిప్ట్ను అందిస్తుంది.
సింటాక్స్: LBound( ArrayName, [డైమెన్షన్] )
ArrayName అనేది శ్రేణి పేరు.
డైమెన్షన్ అనేది ఐచ్ఛిక పూర్ణాంకం విలువ, శ్రేణికి బహుళ కొలతలు ఉంటే, మీరు వీటిని పేర్కొనవచ్చుమీరు ఏ కోణాన్ని ఎల్బౌండ్ని నిర్ణయించాలనుకుంటున్నారు.
ఉదాహరణ:
Sub lboundTest() Dim Result1, Result2, Result3 Dim ArrayValue(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim Arraywithoutlbound(10) Result1 = LBound(ArrayValue, 1) ' Returns 1. Result2 = LBound(ArrayValue, 3) ' Returns 10. Result3 = LBound(Arraywithoutlbound) MsgBox "Lowest subscript in first array " & Result1 & " lowest subscript in 3rd array " & Result2 & " Lowest subscript in Arraywithoutlbound " & Result3 End Sub
#5) యుబౌండ్
ఇది యుబౌండ్ ఫంక్షన్లో ఆర్గ్యుమెంట్గా పేర్కొన్న శ్రేణి ఎగువ సబ్స్క్రిప్ట్ను అందిస్తుంది.
సింటాక్స్: UBound( ArrayName, [Dimension] )
ArrayName అనేది దీని పేరు శ్రేణి.
డైమెన్షన్ అనేది ఐచ్ఛిక పూర్ణాంకం విలువ, శ్రేణి బహుళ పరిమాణాలను కలిగి ఉన్నట్లయితే, మీరు Uboundని ఏ కోణాన్ని నిర్ణయించాలనుకుంటున్నారో మీరు పేర్కొనవచ్చు.
ఉదాహరణ:
Sub UboundTest() Dim Result1, Result2, Result3 Dim ArrayValue(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim ArraywithoutUbound(10) Result1 = UBound(ArrayValue, 1) Result2 = UBound(ArrayValue, 3) Result3 = UBound(ArraywithoutUbound) MsgBox "Lowest subscript in first array " & Result1 & " lowest subscript in 3rd array " & Result2 & " Lowest subscript in Arraywithoutlbound " & Result3 End Sub
#6) స్ప్లిట్
ఇది ఇచ్చిన మొత్తం స్ట్రింగ్ నుండి ఉత్పన్నమైన అనేక సబ్స్ట్రింగ్లతో కూడిన శ్రేణిని అందిస్తుంది.
సింటాక్స్: స్ప్లిట్(వ్యక్తీకరణ, [ డిలిమిటర్, [ పరిమితి, [ పోలిచు ]]])
- వ్యక్తీకరణ: ఇది మొత్తం స్ట్రింగ్కి ఉపయోగించబడుతుంది సబ్స్ట్రింగ్లను ఉత్పత్తి చేయండి.
- డీలిమిటర్: పేర్కొన్న డీలిమిటర్ని ఉపయోగించి, సబ్స్ట్రింగ్లు రూపొందించబడతాయి. ఇది పేర్కొనబడకపోతే, స్పేస్ డీలిమిటర్గా పరిగణించబడుతుంది.
- పరిమితి: వాపసు చేయాల్సిన సబ్స్ట్రింగ్ల సంఖ్య.
- పోల్చండి: తర్వాత సబ్స్ట్రింగ్ ఉత్పత్తి చేయబడింది, మీరు ఫలితాన్ని పరీక్షించడానికి విభిన్న సరిపోలిక ఎంపికలను ఉపయోగించవచ్చు.
ఉదాహరణ: దిగువ ఉదాహరణలో, మేము డీలిమిటర్ని – మరియు పరిమితిని 3గా ఉపయోగిస్తున్నాము.
అందుకే స్ప్లిట్ ఫంక్షన్ డీలిమిటర్ ఆధారంగా మొత్తం స్ట్రింగ్ను సబ్స్ట్రింగ్గా విభజిస్తుంది. కానీ మేము పరిమితిని 3గా కూడా పేర్కొన్నాము కాబట్టి పరిమితి 3 తర్వాత సబ్స్ట్రింగ్లు ఏర్పడవు. ఆ విధంగా చివరి డీలిమిటర్ –దాటవేయబడుతుంది.
Sub splitExample() Dim MyString As String Dim Result() As String Dim DisplayText As String MyString = "This is the example for-VBA-Split-Function" Result = Split(MyString, "-",3) MsgBox Result(0) & vbNewLine & Result(1) & vbNewLine & Result(2) & vbNewLine & Result(3) End Sub
#7) చేరండి
ఇది విభజన యొక్క రివర్స్ మాత్రమే, జాయిన్ అనేక సబ్స్ట్రింగ్లను కలపడం ద్వారా ఒక స్ట్రింగ్ను సృష్టిస్తుంది.
సింటాక్స్: Join(sourcearray, [ delimiter ])
Sourcearray: ఒక డైమెన్షనల్ స్ట్రింగ్ల శ్రేణి మీరు ఒకదానిలో చేరాలనుకుంటున్నారు.
డిలిమిటర్: చేరినప్పుడు ప్రతి స్ట్రింగ్ తర్వాత పేర్కొన్న డీలిమిటర్ జోడించబడుతుంది.
ఉదాహరణ:
Sub joinExample() Dim Result As String Dim dirarray(0 To 2) As String dirarray(0) = "D:" dirarray(1) = "SoftwareTestingHelp" dirarray(2) = "Arrays" Result = Join(dirarray, "\") MsgBox "Date after joining " & Result End Sub
అన్ని 3 విలువలు కలిపారు మరియు \ అనేది ప్రతి పదం మధ్యలో ఉంచబడుతుంది, మేము \\ డీలిమిటర్గా పేర్కొన్నాము.
#8) ఫిల్టర్
ఫిల్టర్ మమ్మల్ని అనుమతిస్తుంది శ్రేణి నుండి పేర్కొన్న సరిపోలిక కోసం శోధించండి. ఫిల్టర్ ప్రమాణాల ఆధారంగా, స్ట్రింగ్ అర్రే యొక్క ఉపసమితి తిరిగి ఇవ్వబడుతుంది.
సింటాక్స్: ఫిల్టర్(సోర్స్రే, మ్యాచ్, [ చేర్చండి, [ సరిపోల్చండి ]])
ఉదాహరణ:
Sub filterExample() Dim Mystring As Variant Mystring = Array("Software Testing", "Testing help", "Software help") filterString = Filter(Mystring, "help") MsgBox "Found " & UBound(Mystring) - LBound(Mystring) + 1 & " words matching the criteria " End Sub
ఈ ఉదాహరణ ఫిల్టర్ ఫంక్షన్ని ఉపయోగించి అన్ని అర్రే స్ట్రింగ్లో “సహాయం” అనే పదం కోసం శోధిస్తుంది.
తరచుగా అడిగే ప్రశ్నలు
Q #1) VBAలో శ్రేణి యొక్క పొడవును ఎలా పొందాలి?
సమాధానం: ఒక పొడవును పొందడానికి శ్రేణి, మేము Ubound ఫంక్షన్ ఉపయోగిస్తాము. ఈ ఫంక్షన్ మాకు పేర్కొన్న శ్రేణి యొక్క ఎగువ సబ్స్క్రిప్ట్ను అందిస్తుంది.
Q #2) VBAలో శ్రేణిని ఎలా ప్రకటించాలి?
సమాధానం: ఒకటి- డైమెన్షనల్ అర్రే క్రింద చూపిన విధంగా ప్రకటించబడింది.
Dim arrayname(lowerbound to UpperBound) DataType వలె
ఉదాహరణ: Dim Myarray(0 నుండి 2) Integer వలె
రెండు డైమెన్షనల్