excel vba array array methods with examples
यह ट्यूटोरियल VBA एरे, विभिन्न प्रकार के प्रकार, वैरिएंट सरणी, और सरणी विधियों को प्रोग्रामिंग उदाहरणों की मदद से समझाएगा:
एक नियमित VBA वैरिएबल एक स्थान धारक होता है जो एकल डेटा का मान संग्रहीत करता है। इसका 1 से 1 संबंध होता है यानी 1 मान के लिए 1 चर।
अब कई मानों को संचय करने की कल्पना करें जो एक ही प्रकार के हों। कई चर बनाने के बजाय, आप बस एक चर बना सकते हैं और सभी समान प्रकारों को संग्रहीत कर सकते हैं। इस चर को ARRAY कहा जाता है।
=> सभी के लिए VBA प्रशिक्षण श्रृंखला देखने के लिए यहां जाएं
पीसी मुफ्त डाउनलोड के लिए एआई सॉफ्टवेयर
इस ट्यूटोरियल में, आपको पता चल जाएगा कि एक VBA सरणी क्या है, एक आयामी और दो-आयामी सरणियों के साथ-साथ विभिन्न प्रकार के सरणियों जैसे कि फिक्स्ड और डायनामिक। हम विभिन्न सरणी विधियों को भी समझेंगे जो VBA में उपयोग किए जाते हैं।
आप क्या सीखेंगे:
VBA सरणी
Arrays एक विशेष प्रकार का चर है जो समान डेटा प्रकार के कई मानों को संग्रहीत कर सकता है।
उदाहरण के लिए, यदि आपके पास 100 कर्मचारियों के नाम हैं, तो डेटा प्रकार स्ट्रिंग के 100 चर बनाने के बजाय, आप बस प्रकार स्ट्रिंग का एक सरणी चर बना सकते हैं और समान सरणी चर में 100 मान असाइन कर सकते हैं।
एक आयामी सरणी
एक सरणी जिसमें सभी तत्वों को एक पंक्ति में या एकल कॉलम में एक-आयामी सरणी कहा जाता है। कक्षा में सभी छात्रों के नाम एक ही कॉलम में सूचीबद्ध करना एक आयामी आयाम का एक उदाहरण है। इसे नीचे दिखाया गया है।
डेटा सरणी के रूप में Dim arrayname (अपरबाउंड को कम करें)
ऐरे को घोषित करने के कई तरीके हैं। नीचे दिए गए कुछ उदाहरण हैं।
उदाहरण:
(1) मंद MyArrayExample (0 से 3) पूर्णांक के रूप में
0,1,2,3 स्थान के साथ एक सरणी बनाता है जो पूर्णांक मानों को स्वीकार करेगा।
# 2) मंद MyArray2 (3) स्ट्रिंग के रूप में
0 से 3 तक की कमी और स्थान 0,1,2,3 के साथ एक सरणी बनाता है जो स्ट्रिंग मानों को स्वीकार करेगा।
# 3) डिम 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 मारो या कोड निष्पादित करने के लिए टूलबार पर रन बटन दबाएं।
नियमित चर बनाम ऐरे चर
अब हम जानते हैं कि एक आयामी आयाम कैसे काम करता है। तो आइए एक पल को समझते हैं कि क्यों प्रोग्रामिंग भाषाओं में सरणियाँ बहुत महत्वपूर्ण हैं।
मान लें कि आपको 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 मंद सरणी की घोषणा इस प्रकार है:
मंद ArrayName (FirstIndex To LastIndex, FirstIndex To LastIndex) DataType के रूप में।
3 विषयों में प्राप्त 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
फिक्स्ड एरर
स्थिर Arrays जिसे Static Arrays भी कहा जाता है, एक निश्चित निचली सीमा और ऊपरी बाध्य होती है और इस आकार को रन टाइम में नहीं बदला जा सकता है। कोष्ठक के भीतर घोषणा के दौरान सरणी का आकार निर्दिष्ट किया गया है। उपरोक्त सभी उदाहरण निश्चित सरणियाँ हैं क्योंकि हमने घोषणा के दौरान इसके आकार का उल्लेख किया है।
जब आप सरणी के आकार के बारे में निश्चित होते हैं, तो निश्चित सरणियों का उपयोग आमतौर पर किया जाता है। उदाहरण के लिए, एक सप्ताह में दिनों की संख्या, आप कम बाउंड 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
अब, हम जानते हैं कि हम रनटाइम के दौरान ऐरे के आकार को बदल सकते हैं, इसलिए जब भी हमें ऐरे के ऑबाउंड को बढ़ाने की आवश्यकता होती है, हम रेडम स्टेटमेंट का उपयोग कर सकते हैं। आइए सरणी का आकार एक बार और बढ़ाने और एक नया छात्र नाम जोड़ने का प्रयास करें।
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 का उपयोग करके उपरोक्त कोड को फिर से लिखें।
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। नहीं न | नाम | वाक्य - विन्यास | विवरण |
---|---|---|---|
। | शामिल हों | सम्मिलित हों (सॉर्केयर्रे, (सीमांकक)) | एक सरणी में कई सबस्ट्रिंग्स को जोड़ता है और एक स्ट्रिंग मान देता है। |
1 | सरणी | एरे (कपटपूर्ण) | एक नियमित रूप से रूपांतरित करता है एक सरणी में परिवर्तनशील। |
दो | मिटाएं | सरणी नाम मिटाएँ | निश्चित आकार के सरणी का पुनर्मूल्यांकन करने के लिए उपयोग किया जाता है और गतिशील सरणी के लिए मेमोरी को मुक्त करता है। |
३ | IsArray | इरेरे (वैरबेलनेम) | निर्धारित करता है कि एक चर एक सरणी है। |
४ | लबंड | LBound (ऐरेनेम, (आयाम)) | सबसे कम सबस्क्रिप्ट लौटाता है एक सरणी के। |
५ | उबाउंड | यूबाउंड (ऐरेनेम, (आयाम)) | उच्चतम सबस्क्रिप्ट लौटाता है एक सरणी के। |
६ | विभाजित करें | स्प्लिट (अभिव्यक्ति, (सीमांकक, (सीमा, (तुलना)))) | यह एक स्ट्रिंग को कई सबस्ट्रिंग में विभाजित करता है और एक शून्य आधारित सरणी देता है। |
। | फ़िल्टर | फ़िल्टर (sourcearray, मैच, (शामिल करें, (तुलना))) | फ़िल्टर हमें खोज करने की अनुमति देगा किसी ऐरे से निर्दिष्ट मिलान। |
आइए उनमें से प्रत्येक पर एक उदाहरण के साथ विस्तार से चर्चा करें।
(१) अर्रे
चलो एक नियमित रूप से भिन्न चर घोषित करते हैं और इसे एक सरणी के रूप में उपयोग करते हैं। जब आप एक नियमित रूप से परिवर्तनशील चर को एक सरणी में बदलना चाहते हैं, तो हमें एक का उपयोग करने की आवश्यकता है सरणी नीचे दिए गए उदाहरण में दिखाया गया है।
एरे फ़ंक्शन एक तर्क को स्वीकार करते हैं जिसमें अल्पविराम से अलग किए गए मान होते हैं। ये मान सरणी के एक तत्व के रूप में असाइन किए गए हैं।
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
मिटा फ़ंक्शन का उपयोग करने से पहले परिणाम
मिटा के उपयोग के बाद परिणाम
# 3) IsArray
इस फ़ंक्शन का उपयोग यह निर्धारित करने के लिए किया जाता है कि दिए गए इनपुट चर एक सरणी है या नहीं। यदि वेरिएबल सही है, तो यह सही है, अन्यथा यह गलत है।
सिंटैक्स: IsArray (varablename)
उदाहरण:
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) लिबाउंड
यह लिबर्ड फ़ंक्शन के तर्क के रूप में निर्दिष्ट सरणी की सबसे निचली सबस्क्रिप्ट लौटाता है।
सिंटेक्स: एलबाउंड (ऐरेनेम, (आयाम))
ArrayName सरणी का नाम है।
आयाम वैकल्पिक पूर्णांक मान है, यदि सरणी के कई आयाम हैं, तो आप यह निर्दिष्ट कर सकते हैं कि आप किस आयाम पर Loub निर्धारण करना चाहते हैं।
उदाहरण:
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) उबाउंड
यह उबाउंड फ़ंक्शन में एक तर्क के रूप में निर्दिष्ट सरणी के ऊपरी सबस्क्रिप्ट को वापस करता है।
सिंटेक्स: यूबाउंड (ऐरेनेम, (आयाम))
ArrayName सरणी का नाम है।
आयाम वैकल्पिक पूर्णांक मान है, यदि सरणी के कई आयाम हैं, तो आप यह निर्दिष्ट कर सकते हैं कि आप उबाउंड को किस आयाम पर निर्धारित करना चाहते हैं।
उदाहरण:
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 कई substrings को मिलाकर एक स्ट्रिंग बनाएगा।
सिंटेक्स: सम्मिलित करें (सॉर्केयर, (सीमांकक))
शुक्राणु: तार के एक-आयामी सरणी जिसे आप एक में शामिल करना चाहते हैं।
परिहार: जुड़ने के दौरान प्रत्येक स्ट्रिंग के बाद निर्दिष्ट परिसीमन जोड़ा जाएगा।
उदाहरण:
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 (अपरबाउंड को कम करें)
उदाहरण: डिगर मायरे (0 टू 2) इंटेगर के रूप में
नीचे दिखाए गए अनुसार द्वि-आयामी सरणी घोषित की गई है।
मंद ArrayName (FirstIndex To LastIndex, FirstIndex To LastIndex) DataType के रूप में।
उदाहरण: मंद चिह्न (1 से 3, 0 से 2) पूर्णांक के रूप में
Q # 3) रेंज को एरे में कैसे बदलें?
विंडोज़ 10 के लिए सबसे अच्छा मैलवेयर हटाने
उत्तर: रेंज को एरे में बदलने के लिए हम ट्रांसपोज़ फंक्शन का उपयोग कर सकते हैं। यह कोड मैसूर बनाएगा (10)
Sub Example() Dim Mys As Variant Mys = Application.Transpose(Range('A1:A10')) End Sub
Q # 4) VBA में एक सरणी संस्करण क्या है?
उत्तर: एक वेरिएंट ऐरे इसके इंडेक्स के लिए सभी प्रकार के डेटा प्रकारों को स्वीकार करेगा यानी आप एक ही एरे में विभिन्न प्रकार के मान स्टोर कर सकते हैं।
उदाहरण:
मंद सरणीदात (3) रूप में
arrayData(0) = “Vikas Vipal”
arrayData (1) = 411234567890 #
Q # 5) विकल्प आधार विवरण क्या है?
उत्तर: यह एक सरणी के निचले सबस्क्रिप्ट को घोषित करने के लिए उपयोग किया जाता है और एक मॉड्यूल की शुरुआत में उपयोग किया जाता है। डिफ़ॉल्ट रूप से, निचली सबस्क्रिप्ट 0 है यदि आप मॉड्यूल स्तर पर विकल्प बेस 1 घोषित करते हैं, तो सभी सरणियों के लिए डिफ़ॉल्ट कम सबस्क्रिप्ट 1 होगा।
निष्कर्ष
इस ट्यूटोरियल में हमने सीखा कि कैसे VBA में Arrays का उपयोग किया जाता है और हमने देखा कि Arrays एक नियमित चर से कैसे भिन्न है। हमने उदाहरणों के साथ एक-आयामी और दो-आयामी सरणियों का पता लगाया। हमने निश्चित और गतिशील सरणियों पर भी चर्चा की।
रनटाइम के दौरान एरे को आकार देने के तरीके और रेडिम प्रोटेक्ट का उपयोग करके मूल्यों को संरक्षित करने के उदाहरणों के साथ चर्चा की गई। अंत में, हमने एरे तरीकों को सीखा जो कई ऑपरेशन करने में हमारी मदद करेंगे।
=> सभी VBA ट्यूटोरियल यहां देखें
अनुशंसित पाठ
- एक्सेल VBA ट्यूटोरियल - एक्सेल में VBA का परिचय
- VBA डेटा प्रकार - VBA में संख्यात्मक और गैर-संख्यात्मक डेटा प्रकार
- VBA चर और विकल्प VBA में स्पष्ट
- जावा में एक सरणी उलट - उदाहरण के साथ 3 तरीके
- कोड उदाहरण के साथ जावा ऐरे लेंथ ट्यूटोरियल
- जावा में दांतेदार सरणी - उदाहरणों के साथ ट्यूटोरियल
- एरे डेटा प्रकार - इंट एरे, डबल ऐरे, ऐरे ऑफ स्ट्रिंग्स आदि।
- स्ट्रिंग ऐरे C ++: कार्यान्वयन और उदाहरणों के साथ प्रतिनिधित्व