دا ټیوټوریل به د پروګرامینګ مثالونو په مرسته د VBA سرې، مختلف صف ډولونه، مختلف سرې، او د سرې طریقې تشریح کړي:
یو منظم VBA متغیر یو ځای لرونکی دی چې ذخیره کوي. د یو واحد ډیټا ارزښت. دا د 1 څخه تر 1 پورې اړیکه لري د بیلګې په توګه د 1 ارزښت لپاره 1 متغیر.
اوس د ډیری ارزښتونو ذخیره کول تصور کړئ چې د ورته ډول دي. د ډیری متغیرونو رامینځته کولو پرځای ، تاسو کولی شئ یوازې یو متغیر رامینځته کړئ او ټول ورته ارزښتونه ذخیره کړئ. دا متغیر د ARRAY په نوم یادیږي.
په دې ټیوټوریل کې، تاسو به پوه شئ چې د VBA صف څه شی دی، یو اړخیز، او دوه اړخیزه صفونه د مختلف ډولونو لکه فکسډ او ډینامیک سره. موږ به د مختلفو سري میتودونو په اړه هم پوه شو چې په VBA کې کارول کیږي.
VBA Array
Arrays یو ځانګړی ډول متغیر دی چې کولی شي د ورته ډیټا ډول ډیری ارزښتونه ذخیره کړي. .
د مثال په توګه، که تاسو د 100 کارمندانو نومونه لرئ، نو د ډیټا ډول سټرینګ 100 متغیرونو رامینځته کولو پرځای ، تاسو کولی شئ یوازې د ډول سټرینګ یو سرې متغیر جوړ کړئ او 100 ارزښتونه وټاکئ. د ورته صف متغیر ته.
یو ابعادي سرې
هغه سرې چې ټول عناصر په یوه قطار یا یو کالم کې ولري د یو ابعادي سرې په نوم یادیږي. په ټولګي کې د ټولو زده کونکو نومونه په یوه کالم کې لیست کول د یو اړخیز صف یوه بیلګه ده. دا اعلان شوی لکه څنګه چې ښودل شویصفا اعلان شوی لکه څنګه چې لاندې ښودل شوی.
Dim ArrayName(FirstIndex to LastIndex, FirstIndex to LastIndex) د ډیټا ډول په توګه.
مثال: کم نښان (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 کې د سرې ډول څه شی دی؟
ځواب: یو متغیر سرې به د دې شاخص لپاره د ډیټا ټول ډولونه ومني د بیلګې په توګه تاسو کولی شئ مختلف ډوله ارزښتونه په یوه صف کې ذخیره کړئ.
1>بیلګه:
0>Dim arrayData(3) د ویرینټ په توګهarrayData(0) = "Vikas Vipal"
arrayData(1) = 411234567890#
د سرې د بیا اندازه کولو لارې د چلولو وخت او همدارنګه د redim preserve په کارولو سره ارزښتونه ساتل د مثالونو سره بحث شوي. په نهایت کې، موږ د سرې میتودونه زده کړل چې موږ سره به د ډیری عملیاتو په ترسره کولو کې مرسته وکړي.
لاندې.Dim arrayname (لوړ باؤنډ ته پورته باونډ) د ډیټا ټایپ په توګه
د صف اعلانولو لپاره ډیری لارې شتون لري. لاندې یو څو مثالونه ورکړل شوي دي.
مثال:
#1) Dim MyArrayExample(0 څخه تر 3) د انټیجر په توګه
د 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 کوډ لیکلو لپاره مایکروسافټ ایکسل خلاص کړئ (ملاتړ شوي نسخې د Excel 2007, 2010, 2013, 2016, 2019 دي). Developer Tab -> بصری اساسی (په بدیل سره شارټ کټ 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
اوس راځئ چې د Array متغیر په کارولو سره ورته کوډ جوړ کړو.
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 ډیم سرې اعلامیه په لاندې ډول ده: 3> 0> 1> ډیم اری نوم (لومړی انډیکس تر LastIndex، FirstIndex To LastIndex) د ډیټا ټایپ په توګه.
په 3 مضامینو کې د ترلاسه شوي 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
۱ قطار او کالم 3
ثابت سرې
ثابت سرې چې جامد هم بلل کیږياریونه یو ثابت ټیټ او پورتنی حد لري او دا اندازه د چلولو په وخت کې نشي بدلیدلی. د صف اندازه په قوس کې د اعلامیې په جریان کې مشخص شوې. پورتني ټول مثالونه ثابت صفونه دي لکه څنګه چې موږ د اعلامیې په جریان کې د هغې اندازې ته اشاره کړې ده.
فکس شوي سرې معمولا کارول کیږي کله چې تاسو د سرې اندازې په اړه ډاډه یاست. د مثال په توګه، په اونۍ کې د ورځو شمیر، تاسو کولی شئ د ټیټ حد 0 او پورتنۍ حد 6 سره یو سري جوړ کړئ او ډاډه اوسئ چې تاسو به هیڅکله د هغې اندازه بدله نه کړئ.
متحرک آریونه
متحرک ارې موږ ته اجازه راکوي چې د چلولو په وخت کې د سرې اندازه بدله کړو. دا ګټور دي کله چې تاسو د صف اندازې په اړه ډاډه نه یاست. فرض کړئ په کالج کې داخله کې، تاسو ممکن ډاډه نه یاست چې څومره زده کونکي به واقعیا داخله ترلاسه کړي، نو تاسو نشئ کولی د ډیزاین یا اعالمیې په وخت کې اندازه وټاکئ.
د متحرک صف اعلان د جامد سره ورته دی. د خالي قوسونو سره صف.
Dim Employ() د سټرینګ په توګه
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 زیات کړو. راځئ هڅه وکړو چې یو ځل د صف اندازه زیاته کړو او یو نوی اضافه کړود زده کونکي نوم.
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 پریزرو په کارولو سره بیا ولیکو.
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 صفونو کې ډیری میتودونه شتون لري چې موږ سره به د مختلف کارونو په ترسره کولو کې مرسته وکړي لکه څنګه چې لاندې یادونه وشوه.
سل. نه | نوم | نحو | تفصیل | 24>
---|---|---|---|
1 | ستر 2 | Array(arglist) | منظم ډول بدلوي متغیر په سري بدلوي. |
2 | پاک کړئ | د سرې نوم پاک کړئ | د ټاکل شوي اندازې سرې بیا پیلولو لپاره کارول کیږي او د ډینامیک لپاره حافظه آزادويarray. |
3 | IsArray | IsArray (متغیر نوم) | ټاکي چې ایا یو متغیر یو صف دی. |
4 | Lbound | LBound( ArrayName, [Dimension]) | تر ټولو ټیټ سبسکرپټ بیرته راګرځي د یو صف. |
5 | Ubound | UBound( ArrayName , [طول] ) | د یوې سرې تر ټولو لوړ سبسکرپټ راګرځي. |
6 | ویشل2 | سپلایټ(اظهار، [حدید، [ حد، [ پرتله کول]]]) | دا یو تار په څو فرعي سټرینګونو ویشي او د صفر پر بنسټ سرې راګرځوي. |
7 | شامل شئ | ګډون وکړئ(سرچینه، [ 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
د پاکولو فنکشن کارولو دمخه پایله
0>![](/wp-content/uploads/guides/4rcibbktya-9.png)
د پاکولو کارولو وروسته پایله
#3) IsArray
دا فنکشن د دې لپاره کارول کیږي چې معلومه کړي چې ایا ورکړل شوی ان پټ متغیر سرنی دی که نه. دا ریښتیا راګرځي که چیرې داخل شوی متغیر ریښتیا وي، که نه دا بیرته غلط راګرځي.
نحو: IsArray (متغیر نوم)
0> مثال: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
د لومړي پیغام بکس پایله
د دویم پیغام بکس پایله
#4) Lbound
دا د Lbound فنکشن لپاره د دلیل په توګه ټاکل شوي د سرې ترټولو ټیټ سبسکرپټ بیرته راګرځوي.
نحو: LBound( ArrayName, [طول] )
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 د نوم نوم دی 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) سپلیټ
دا د ورکړل شوي ټول تار څخه اخیستل شوي یو شمیر فرعي سټینګونو سره یو سري راګرځوي.
Syntax: Split(expression, [ delimiter, [ limit, [ compare ]]])
- Expression: دا هغه ټول تار دی چې د دې لپاره کارول کیږي فرعي تارونه تولیدوي.
- تعدیل: د ټاکل شوي حد په کارولو سره، فرعي سټینګونه به تولید شي. که دا نه وي ذکر شوي نو ځای د حد په توګه ګڼل کیږي.
- محدود: د فرعي سټینګونو شمیر چې بیرته راګرځول کیږي.
- پرتله کول: وروسته له دې فرعي سټرینګ تولید شوی، تاسو کولی شئ د پایلې ازموینې لپاره د پرتله کولو مختلف انتخابونه وکاروئ.
مثال: په لاندې مثال کې، موږ د حد په توګه - او حد د 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) یوځای شئ
دا یوازې د ویشلو برعکس دی، یوځای کیدل به د څو فرعي سټینګونو په یوځای کولو سره یو تار جوړ کړي.
نحو: یوځای شئ(سرچینه، [ delimiter ])
Sourcearray: د تارونو یو اړخیزه لړۍ چې تاسو غواړئ په یو کې شامل شئ.
تعدیلونکی: ټاکل شوی حد به د یوځای کیدو پرمهال د هر تار وروسته اضافه شي.
0>1>مثال: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 کې د سرې اوږدوالی څنګه ترلاسه کولی شو؟
ځواب: د اوږدوالی ترلاسه کولو لپاره صف، موږ د Ubound فنکشن کاروو. دا فنکشن به موږ ته د ټاکل شوي سرې پورتنۍ سبسکرپټ راکړي.
پوښتنه #2) څنګه په VBA کې یو سري اعلان کړو؟
0> ځواب: یو- ابعادي سرې اعلان شوې لکه څنګه چې لاندې ښودل شوي.ډیم آری نوم (لوړ باؤنډ څخه تر پورتنۍ باؤنډ) د ډیټا ټایپ په توګه
مثال: ډیم مایری (0 څخه تر 2) د عدد په توګه
یو دوه اړخیز