हे ट्यूटोरियल प्रोग्रामिंग उदाहरणांच्या मदतीने VBA अॅरे, विविध अॅरे प्रकार, व्हेरिएंट अॅरे आणि अॅरे पद्धती स्पष्ट करेल:
एक नियमित VBA व्हेरिएबल एक प्लेस होल्डर आहे जो एका डेटाचे मूल्य. यात 1 ते 1 संबंध आहे म्हणजे 1 व्हॅल्यूसाठी 1 व्हेरिएबल.
आता एकाच प्रकारातील अनेक मूल्ये साठवण्याची कल्पना करा. एकाधिक व्हेरिएबल तयार करण्याऐवजी, तुम्ही फक्त एक व्हेरिएबल तयार करू शकता आणि सर्व समान प्रकारची मूल्ये संग्रहित करू शकता. या व्हेरिएबलला ARRAY म्हणतात.
या ट्युटोरियलमध्ये, फिक्स्ड आणि डायनॅमिक सारख्या विविध प्रकारच्या अॅरेसह तुम्हाला VBA अॅरे, एक-आयामी आणि द्विमितीय अॅरे म्हणजे काय हे कळेल. आम्ही VBA मध्ये वापरल्या जाणार्या विविध अॅरे पद्धती देखील समजून घेऊ.
VBA अॅरे
अॅरे हे एक विशेष प्रकारचे व्हेरिएबल आहेत जे एकाच डेटा प्रकाराची एकाधिक मूल्ये संचयित करू शकतात. .
उदाहरणार्थ, जर तुमच्याकडे १०० कर्मचाऱ्यांची नावे असतील, तर डेटा प्रकार स्ट्रिंगचे १०० व्हेरिएबल्स तयार करण्याऐवजी, तुम्ही टाइप स्ट्रिंगचे फक्त एक अॅरे व्हेरिएबल तयार करू शकता आणि १०० मूल्ये नियुक्त करू शकता. समान अॅरे व्हेरिएबलमध्ये.
वन डायमेंशनल अॅरे
ज्या अॅरेमध्ये सर्व घटक एकाच ओळीत किंवा एकाच कॉलममध्ये असतात त्याला वन-डायमेंशनल अॅरे म्हणतात. वर्गातील सर्व विद्यार्थ्यांची नावे एकाच स्तंभात सूचीबद्ध करणे हे एक-आयामी अॅरेचे उदाहरण आहे. दाखवल्याप्रमाणे घोषित केले आहेअॅरे खाली दर्शविल्याप्रमाणे घोषित केले आहे.
मंद अॅरेनेम(FirstIndex To LastIndex, FirstIndex To LastIndex) DataType म्हणून.
उदाहरण: मंद गुण(1 ते 3) , 0 ते 2) पूर्णांक म्हणून
प्र # 3) रेंजचे अॅरेमध्ये रूपांतर कसे करायचे?
उत्तर: आम्ही ट्रान्सपोज फंक्शन वापरू शकतो. श्रेणीला अॅरेमध्ये रूपांतरित करण्यासाठी. हा कोड Mys तयार करेल[10]
Sub Example() Dim Mys As Variant Mys = Application.Transpose(Range("A1:A10")) End Sub
Q #4) VBA मध्ये अॅरे व्हेरिएंट काय आहे?
उत्तर: एक व्हेरिएंट अॅरे त्याच्या इंडेक्ससाठी सर्व प्रकारचे डेटा प्रकार स्वीकारेल म्हणजेच तुम्ही एकाच अॅरेमध्ये विविध प्रकारची मूल्ये साठवू शकता.
उदाहरण:
डिम अॅरेडेटा(3) व्हेरिएंट म्हणून
अॅरेडेटा(0) = “विकास विपल”
अॅरेडेटा(1) = 411234567890#
यादरम्यान अॅरेचा आकार बदलण्याचे मार्ग रनटाइम आणि रेडिम प्रिझर्व्ह वापरून मूल्ये जतन करणे याविषयी उदाहरणांसह चर्चा करण्यात आली. शेवटी, आम्ही अॅरे पद्धती शिकलो ज्यामुळे आम्हाला अनेक ऑपरेशन्स करण्यात मदत होईल.
खाली.डिम अॅरेनेम(लोअरबाउंड ते अप्परबाउंड) डेटा टाइप म्हणून
अॅरे घोषित करण्याचे अनेक मार्ग आहेत. खाली काही उदाहरणे दिली आहेत.
उदाहरण:
#1) Dim MyArrayExample(0 ते 3) पूर्णांक म्हणून
स्थान 0,1,2,3 सह एक अॅरे तयार करते जी पूर्णांक मूल्ये स्वीकारेल.
#2) मंद MyArray2(3) स्ट्रिंग म्हणून
0 वरून डीफॉल्ट 3 ला आणि स्थान 0,1,2,3 सह एक अॅरे तयार करते जी स्ट्रिंग मूल्ये स्वीकारेल.
#3) मंद MyArray2(13 ते 15) दुहेरी म्हणून
१३ पासून सुरू होणारा अॅरे तयार करतो, म्हणजे १३, १४ आणि १५, आणि दुहेरी मूल्ये स्वीकारतो. आम्ही लोअर बाउंड 13 म्हणून नमूद केले आहे, त्यामुळे अॅरे 0 ऐवजी स्थान 13 वरून व्हॅल्यू वाटप करण्यास सुरवात करेल.
चला एक साधा कोड बनवू आणि अॅरे डिक्लेरेशनचे सर्व 3 मार्ग समजून घेऊ.
टीप: VB कोड लिहिण्यासाठी मायक्रोसॉफ्ट एक्सेल उघडा (समर्थित आवृत्त्या एक्सेल 2007, 2010, 2013, 2016, 2019 आहेत). डेव्हलपर टॅब -> वर नेव्हिगेट करा व्हिज्युअल बेसिक (वैकल्पिकपणे शॉर्टकट Alt+F11 वापरा). VB एडिटरमध्ये, Insert -> वर क्लिक करा. मॉड्यूल आणि खालील कोड पेस्ट करा.
विविध प्रकारच्या घोषणा दर्शविणारी खालील प्रक्रिया विचारात घ्या.
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 दाबा किंवा टूलबारवरील रन बटण दाबा. कोड कार्यान्वित करण्यासाठी.
रेग्युलर व्हेरिएबल विरुद्ध अॅरे व्हेरिएबल
एक-आयामी अॅरे कसे कार्य करते हे आता आम्हाला माहित आहे. तर अॅरे इतके महत्त्वाचे का आहेत हे समजून घेण्यासाठी थोडा वेळ घेऊ याप्रोग्रामिंग भाषा.
असे गृहीत धरा की तुम्हाला 5 कर्मचार्यांचा पगार प्रविष्ट करणे आवश्यक आहे. रेग्युलर व्हेरिएबल वापरून हे साध्य करण्यासाठी, तुम्हाला ५ व्हेरिएबल तयार करावे लागतील.
३२९४आता अॅरे व्हेरिएबल वापरून तोच कोड बनवू.
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-आयामी अॅरे तयार करू ज्यामध्ये 2 पंक्ती आणि 3 स्तंभ असतील.
आम्ही पंक्ती 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 अॅरेमध्ये अनेक पद्धती आहेत ज्या आम्हाला खाली नमूद केल्याप्रमाणे भिन्न कार्ये करण्यास मदत करतील.
क्र. नाही | नाव | वाक्यरचना | वर्णन |
---|---|---|---|
1 | अॅरे2 | Array(arglist) | रेग्युलर व्हेरिएंट व्हेरिएबलला अॅरेमध्ये रूपांतरित करते. |
2 | 26 मिटवाअॅरेनाव पुसून टाका | निश्चित आकाराचे अॅरे पुन्हा स्थापित करण्यासाठी वापरले जाते आणि डायनॅमिकसाठी मेमरी मोकळी करतेarray. | |
3 | IsArray | IsArray (व्हेरिएबलनाव) | निर्धारित करते की नाही व्हेरिएबल एक अॅरे आहे. |
4 | Lbound | LBound( ArrayName, [Dimension] ) | अॅरेची सर्वात कमी सबस्क्रिप्ट मिळवते. |
5 | Ubound | UBound( ArrayName , [आयाम] ) | अॅरेची सर्वोच्च सबस्क्रिप्ट मिळवते. |
6 | विभाजन2 | स्प्लिट(अभिव्यक्ती, [ डिलिमिटर, [ लिमिट, [ तुलना ]]]) | हे स्ट्रिंगला अनेक सबस्ट्रिंगमध्ये विभाजित करते आणि शून्य आधारित अॅरे मिळवते. |
7 | सामील व्हा | सामील व्हा(स्रोतअॅरे, [ डिलिमिटर ]) | अॅरेमधील एकाधिक सबस्ट्रिंगमध्ये सामील होते आणि स्ट्रिंग मूल्य मिळवते . |
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
#3) IsArray
हे फंक्शन दिलेले इनपुट व्हेरिएबल अॅरे आहे की नाही हे निर्धारित करण्यासाठी वापरले जाते. एंटर केलेले व्हेरिएबल सत्य असल्यास ते सत्य मिळवते, अन्यथा ते खोटे येते.
सिंटॅक्स : IsArray (व्हेरिएबलचे नाव)
उदाहरण:
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, [Dimension] )
ArrayName हे अॅरेचे नाव आहे.
डायमेंशन हे पर्यायी पूर्णांक मूल्य आहे, जर अॅरेमध्ये अनेक आयाम असतील, तर तुम्ही ते निर्दिष्ट करू शकतातुम्हाला कोणता परिमाण Lbound निर्धारित करायचा आहे.
उदाहरण:
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
ते Ubound फंक्शनमध्ये आर्ग्युमेंट म्हणून निर्दिष्ट केलेल्या अॅरेची वरची सबस्क्रिप्ट परत करते.
सिंटॅक्स: UBound( ArrayName, [Dimension] )
ArrayName हे नाव आहे अॅरे.
आयाम हे पर्यायी पूर्णांक मूल्य आहे, जर अॅरेमध्ये अनेक परिमाणे असतील, तर तुम्ही Ubound निर्धारित करू इच्छिता हे तुम्ही निर्दिष्ट करू शकता.
उदाहरण:2
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 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
#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
हे उदाहरण फिल्टर फंक्शन वापरून सर्व अॅरे स्ट्रिंगमध्ये “मदत” शब्द शोधेल.
वारंवार विचारले जाणारे प्रश्न
प्रश्न # 1) VBA मध्ये अॅरेची लांबी कशी मिळवायची?
उत्तर: एखाद्याची लांबी मिळवण्यासाठी array, आम्ही Ubound फंक्शन वापरतो. हे फंक्शन आम्हाला निर्दिष्ट अॅरेची वरची सबस्क्रिप्ट देईल.
प्र # 2) VBA मध्ये अॅरे कसे घोषित करावे?
उत्तर: एक- डायमेंशनल अॅरे खाली दाखवल्याप्रमाणे घोषित केला आहे.
डिम अॅरेनेम(लोअरबाउंड ते अप्परबाउंड) डेटा टाइप
उदाहरण: डिम मायरे(0 ते 2) पूर्णांक म्हणून
एक द्विमितीय