यो ट्यूटोरियलले VBA एरे, विभिन्न एरे प्रकारहरू, भेरियन्ट एरे, र प्रोग्रामिङ उदाहरणहरूको सहयोगमा एरे विधिहरू व्याख्या गर्नेछ:
नियमित VBA चर एउटा प्लेस होल्डर हो जसले भण्डारण गर्छ। एकल डाटाको मूल्य। यसमा १ देखि १ सम्बन्ध छ अर्थात १ मानको लागि १ चर।
अब एउटै प्रकारका धेरै मानहरू भण्डारण गर्ने कल्पना गर्नुहोस्। धेरै चरहरू सिर्जना गर्नुको सट्टा, तपाइँ केवल एउटा चर सिर्जना गर्न सक्नुहुन्छ र सबै समान प्रकारका मानहरू भण्डारण गर्न सक्नुहुन्छ। यो भेरिएबललाई ARRAY भनिन्छ।
यस ट्युटोरियलमा, तपाईंले VBA एरे, एक-आयामी, र द्वि-आयामी एरेहरू के हो र फिक्स्ड र डायनामिक जस्ता विभिन्न प्रकारका एरेहरू के हो भनेर थाहा पाउनुहुनेछ। हामीले VBA मा प्रयोग हुने विभिन्न array विधिहरू पनि बुझ्नेछौं।
VBA Array
Arrays एक विशेष प्रकारको चर हो जसले एउटै डेटा प्रकारको बहु मानहरू भण्डारण गर्न सक्छ। .
उदाहरणका लागि, यदि तपाईंसँग १०० कर्मचारीहरूको नाम छ भने, डाटा टाइप स्ट्रिङका १०० चरहरू सिर्जना गर्नुको सट्टा, तपाईंले टाइप स्ट्रिङको एउटा एरे भेरिएबल सिर्जना गर्न सक्नुहुन्छ र १०० मानहरू तोक्न सक्नुहुन्छ। एउटै array चरमा।
One Dimensional Array
एउटै पङ्क्तिमा वा एउटै स्तम्भमा सबै तत्वहरू भएको एरेलाई One-dimensional array भनिन्छ। कक्षाका सबै विद्यार्थीहरूको नाम एउटै स्तम्भमा सूचीबद्ध गर्नु एक-आयामी एरेको उदाहरण हो। देखाइए अनुसार घोषणा गरिएको छarray तल देखाइए अनुसार घोषित गरिएको छ।
Dim ArrayName(FirstIndex to LastIndex, FirstIndex to LastIndex) DataType को रूपमा।
उदाहरण: डिम मार्क्स(१ देखि ३ , 0 देखि 2) Integer को रूपमा
Q #3) रेंजलाई एरेमा कसरी रूपान्तरण गर्ने?
उत्तर: हामी ट्रान्सपोज प्रकार्य प्रयोग गर्न सक्छौं दायरालाई एरेमा रूपान्तरण गर्न। यो कोडले Mys सिर्जना गर्नेछ।>उत्तर: एक भेरियन्ट एरेले यसको अनुक्रमणिकाको लागि सबै प्रकारका डेटा प्रकारहरू स्वीकार गर्नेछ, अर्थात् तपाईँले एकल एरेमा विभिन्न प्रकारका मानहरू भण्डारण गर्न सक्नुहुन्छ।
उदाहरण:
Dim arrayData(3) variant को रूपमा
arrayData(0) = “Vikas Vipal”
arrayData(1) = 411234567890#
समयमा array रिसाइज गर्ने तरिकाहरू रनटाइम र रेडिम प्रिजर्भ प्रयोग गरेर मानहरू संरक्षण गर्ने उदाहरणहरू सहित छलफल गरियो। अन्तमा, हामीले एरे विधिहरू सिक्यौं जसले हामीलाई धेरै अपरेशनहरू गर्न मद्दत गर्नेछ।
तल।Dim arrayname(lowerbound to upperBound) DataType को रूपमा
एरे घोषणा गर्ने धेरै तरिकाहरू छन्। तल केही उदाहरणहरू दिइएको छ।
उदाहरण:
#1) Dim MyArrayExample(0 देखि 3) Integer को रूपमा
स्थान ०,१,२,३ भएको एर्रे बनाउँछ जसले पूर्णांक मानहरू स्वीकार गर्नेछ।
#2) Dim MyArray2(3) String को रूपमा
0 बाट पूर्वनिर्धारित 3 मा र स्थान 0,1,2,3 को साथ एर्रे सिर्जना गर्दछ जसले स्ट्रिङ मानहरू स्वीकार गर्दछ।
#3) Dim MyArray2(13 देखि 15) As Double
१३ अर्थात १३, १४ र १५ बाट सुरु हुने एर्रे सिर्जना गर्छ र दोहोरो मानहरू स्वीकार गर्छ। हामीले तल्लो बाउन्डलाई 13 को रूपमा उल्लेख गरेका छौं, त्यसैले array ले 0 को सट्टा स्थान 13 बाट मानहरू आवंटित गर्न सुरु गर्नेछ।
एक साधारण कोड सिर्जना गरौं र एरे घोषणाका सबै 3 तरिकाहरू बुझौं।
नोट: VB कोड लेख्न माइक्रोसफ्ट एक्सेल खोल्नुहोस् (समर्थित संस्करणहरू Excel 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 कर्मचारीहरूको तलब प्रविष्ट गर्न आवश्यक छ। नियमित चर प्रयोग गरेर यो प्राप्त गर्नको लागि, तपाईंले 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
यहाँ, हामीले भर्खरै एउटा एरे चर प्रयोग गरेका छौं जसले सबै कर्मचारी नामहरू भण्डार गर्नेछ। मानौं तपाईंले थप १०० कर्मचारी नामहरू थप्नु आवश्यक छ भने तपाईंले एरे साइज परिवर्तन गर्न आवश्यक छ र नयाँ चर सिर्जना गर्नुपर्दैन।
यसले कोडमा लाइनहरूको संख्या घटाउनेछ र यसरी सजिलैसँग बनाउँदछ। बुझ्न सकिने र पढ्न सकिने।
द्वि-आयामी एरे
2-आयामी एरेमा २ इन्डेक्सहरू हुन्छन् - पहिलो इन्डेक्सले पङ्क्तिहरूलाई प्रतिनिधित्व गर्नेछ र दोस्रो इन्डेक्सले स्तम्भलाई प्रतिनिधित्व गर्नेछ। यसमा धेरै पङ्क्तिहरू र स्तम्भहरू छन् र सामान्यतया तालिका ढाँचामा प्रतिनिधित्व गरिन्छ।
2 dim array को घोषणा यस प्रकार छ:
Dim ArrayName(FirstIndex) LastIndex मा, FirstIndex To LastIndex) DataType को रूपमा।
३ विषयहरूमा प्राप्त गरेका २ विद्यार्थीहरूको अंक भण्डारण गर्ने एउटा उदाहरणलाई विचार गर्नुहोस्। त्यसैले हामी २ पङ्क्ति र ३ स्तम्भहरू लिने २-आयामी एरे सिर्जना गर्नेछौं।
हामी पङ्क्ति 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 सँग एर्रे सिर्जना गर्न सक्नुहुन्छ र तपाइँले यसको साइज कहिल्यै परिवर्तन गर्नुहुने छैन भनेर निश्चित हुनुहोस्।
गतिशील एरेहरू
गतिशील एरेहरूले हामीलाई रन टाइममा एरेको आकार बदल्न अनुमति दिन्छ। यी उपयोगी हुन्छन् जब तपाईं एरेको साइजको बारेमा निश्चित हुनुहुन्न। मानौँ कलेज भर्नामा, तपाइँ निश्चित हुन सक्नुहुन्न कि कति विद्यार्थीहरूले वास्तवमा प्रवेश पाउनेछन्, त्यसैले तपाइँ डिजाइन वा घोषणा समयमा आकार निर्धारण गर्न सक्नुहुन्न।
गतिशील एरेको घोषणा एक स्थिर जस्तै हो। खाली कोष्ठकको साथ array।
Dim Employ() as String
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
अब, हामीलाई थाहा छ हामी गर्न सक्छौं। रनटाइमको बखत एरेको साइज परिवर्तन गर्नुहोस्, त्यसैले हामीले एरेको ubound बढाउन आवश्यक हुँदा हामी 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 संरक्षण
Reserve कथनले हामीलाई पुरानो मानहरू संरक्षण गरेर ReDim को सीमितता हटाउन मद्दत गर्दछ। र यसरी एरेको साइज बढाउँछ।
ReDim संरक्षण प्रयोग गरेर माथिको कोडलाई पुन: लेखौं।
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
जस्तै हामीले प्रयोग गरेका छौं। सुरक्षित कुञ्जी शब्द, पहिले प्रविष्ट गरिएका मानहरू हराउँदैनन् र नयाँ मान सफलतापूर्वक थपिएको छ।
भिन्न एरे
अहिलेसम्म हामीले एरेले समान प्रकारको मानहरू स्वीकार गरेको देख्यौं। अब एरेलाई भेरियन्टको रूपमा घोषणा गरौं र विभिन्न प्रकारका डाटा जस्तै String, Date, Long, Integer लाई एउटै एरेमा भण्डारण गरौं।
उदाहरण:
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 एरेहरूमा धेरै विधिहरू छन् जसले हामीलाई तल उल्लेख गरिए अनुसार विभिन्न प्रकार्यहरू गर्न मद्दत गर्दछ।
क्रम. No | नाम | सिन्ट्याक्स | विवरण |
---|---|---|---|
1 | एरे2 | Array(arglist) | नियमित भेरियन्ट चरलाई एरेमा रूपान्तरण गर्दछ। |
2 | 26 EraseErase arrayname | फिक्स्ड साइज एरेलाई पुन: स्थापना गर्न प्रयोग गरिन्छ र गतिशीलका लागि मेमोरी खाली गर्दछarray। | |
3 | IsArray | IsArray (चरनाम) | निर्धारित गर्दछ कि a चर एउटा array हो। |
4 | Lbound | LBound( ArrayName, [Dimension] ) | 26|
5 | Ubound | UBound( ArrayName , [आयाम] ) | एरेको उच्चतम सबस्क्रिप्ट फर्काउँछ। |
6 | विभाजन2 | स्प्लिट(अभिव्यक्ति, [ डिलिमिटर, [ सीमा, [ तुलना ]]]) | यसले स्ट्रिङलाई धेरै सबस्ट्रिङहरूमा विभाजन गर्छ र शून्यमा आधारित एरे फर्काउँछ। |
7 | जोइन गर्नुहोस् | जोइन(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) मेटाउने
यस प्रकार्यले एकका लागि प्रविष्ट गरिएका सबै मानहरू मेटाउनेछ। निश्चित साइज एरे र डायनामिक एरेको लागि मेमोरी स्पेस खाली गर्नेछ।
सिन्ट्याक्स: एरेज एरेनेम
इरेजको विभिन्न प्रकारका डाटाका लागि फरक व्यवहार छ। तल।
- एक निश्चित संख्याको लागि: सबै मानहरू शून्यमा रिसेट गरिएका छन्।
- एक निश्चित स्ट्रिङ डेटा प्रकारको लागि: सबै मानहरू शून्य लम्बाइमा रिसेट गरिएका छन्।
- एक गतिशील एरेको लागि: एरेद्वारा प्रयोग गरिएको मेमोरी खाली गर्दछ।
उदाहरण :
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
Eraase प्रकार्य प्रयोग गर्नु अघि नतिजा
इरेज प्रयोग गरेपछिको नतिजा
#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 array को नाम हो।
Dimension वैकल्पिक पूर्णांक मान हो, यदि array मा धेरै आयामहरू छन् भने, त्यसपछि तपाइँ निर्दिष्ट गर्न सक्नुहुन्छकुन आयाम तपाईं 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 प्रकार्यमा आर्गुमेन्टको रूपमा निर्दिष्ट गरिएको array को माथिल्लो सबस्क्रिप्ट फर्काउँछ।
Syntax: UBound( ArrayName, [Dimension] )
ArrayName को नाम हो। array।
आयाम भनेको ऐच्छिक पूर्णांक मान हो, यदि एरेमा धेरै आयामहरू छन् भने, तपाईंले कुन आयामलाई 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 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
यो विभाजनको उल्टो मात्र हो, Join ले धेरै सबस्ट्रिङहरू मिलाएर एउटा स्ट्रिङ सिर्जना गर्नेछ।
सिन्ट्याक्स: 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 मा एरे कसरी घोषणा गर्ने?
उत्तर: एक- आयामी एरे तल देखाइए अनुसार घोषित गरिएको छ।
Dim arrayname(lowerbound to upperBound) DataType को रूपमा
उदाहरण: Dim Myarray(0 to 2) Integer को रूपमा
एक द्वि-आयामी