Excel VBA массив ба массив аргуудын жишээнүүд

Энэ заавар нь програмчлалын жишээнүүдийн тусламжтайгаар VBA массив, төрөл бүрийн массив, хувилбарын массив болон массив аргуудыг тайлбарлах болно:

Ердийн VBA хувьсагч нь нэг өгөгдлийн үнэ цэнэ. Энэ нь 1-ээс 1 хүртэлх харьцаатай, өөрөөр хэлбэл 1 утгад 1 хувьсагч байна.

Одоо нэг төрлийн олон утгыг хадгална гэж төсөөлөөд үз дээ. Та олон хувьсагч үүсгэхийн оронд нэг хувьсагч үүсгэж, бүх ижил төрлийн утгыг хадгалах боломжтой. Энэ хувьсагчийг ARRAY гэж нэрлэдэг.

Энэ зааварт, Та VBA массив, нэг хэмжээст, хоёр хэмжээст массив гэж юу болохыг, мөн Тогтмол, Динамик гэх мэт олон төрлийн массивуудыг мэдэх болно. Мөн бид VBA-д хэрэглэгддэг массивын янз бүрийн аргуудыг ойлгох болно.

VBA массив

Масив нь нэг төрлийн өгөгдлийн олон утгыг хадгалах боломжтой хувьсагчийн тусгай төрөл юм. .

Жишээ нь, хэрэв танд 100 ажилтны нэр байгаа бол өгөгдлийн төрлийн 100 хувьсагч үүсгэхийн оронд string төрлийн нэг массив хувьсагч үүсгэж, 100 утгыг оноож болно. ижил массив хувьсагч руу.

Нэг хэмжээст массив

Бүх элементүүдийг нэг мөрөнд эсвэл нэг баганад агуулсан массивыг Нэг хэмжээст массив гэнэ. Ангийн бүх сурагчдын нэрийг нэг баганад жагсаах нь нэг хэмжээст массивын жишээ юм. Үүнийг үзүүлсэн шиг зарласанмассивыг доор харуулсны дагуу зарласан.

Dim ArrayName(FirstIndex to LastIndex, FirstIndex to LastIndex) DataType байдлаар.

Жишээ нь: Dim marks(1 to 3) , 0-ээс 2) Бүхэл тоогоор

Асуулт #3) Хэрхэн мужийг массив болгон хувиргах вэ?

Хариулт: Бид Transpose функцийг ашиглаж болно. мужийг массив болгон хувиргах. Энэ код нь Mys[10]

Sub Example() Dim Mys As Variant Mys = Application.Transpose(Range("A1:A10")) End Sub

Асуулт #4-ийг үүсгэнэ) VBA дахь массивын хувилбар гэж юу вэ?

Хариулт: Хувилбарын массив нь индексийнхээ бүх төрлийн өгөгдлийн төрлийг хүлээн авах болно, өөрөөр хэлбэл та өөр өөр төрлийн утгуудыг нэг массив дотор хадгалах боломжтой.

Жишээ нь:

Dim arrayData(3) As Variant

arrayData(0) = “Vikas Vipal”

arrayData(1) = 411234567890#

Үед массивын хэмжээг өөрчлөх арга замууд ажиллах цаг, мөн redim preserve ашиглан утгуудыг хадгалах талаар жишээн дээр хэлэлцсэн. Эцэст нь бид хэд хэдэн үйлдлийг гүйцэтгэхэд туслах массивын аргуудыг сурсан.

доор.

Бүдэг массивын нэр(доод хязгаараас дээш) DataType байдлаар

Масивыг зарлах олон арга байдаг. Цөөн хэдэн жишээг доор өгөв.

Жишээ нь:

#1) Dim MyArrayExample(0-ээс 3) Бүхэл тоо

Бүхэл тоон утгыг хүлээн авах 0,1,2,3 байрлалтай массив үүсгэнэ.

#2) MyArray2(3)-ыг мөр болгон бүдгэрүүлэх

Өгөгдмөл нь 0 3 руу 0,1,2,3 байрлалтай массив үүсгэж, мөрийн утгыг хүлээн авна.

#3) Dim MyArray2(13-аас 15) Давхар

13, 14, 15 гэсэн 13-аас эхлэн массив үүсгэж, Давхар утгыг хүлээн авна. Бид доод хязгаарыг 13 гэж дурдсан тул массив нь 0-ээс биш 13-р байрлалаас утгыг хуваарилж эхэлнэ.

Энгийн код үүсгэж, массив зарлах 3 аргыг бүгдийг нь ойлгоцгооё.

Тэмдэглэл: VB код бичихийн тулд Microsoft Excel програмыг нээнэ үү (дэмжигдсэн хувилбарууд нь Excel 2007, 2010, 2013, 2016, 2019). Хөгжүүлэгч таб -> Visual Basic (Алт+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 дарах эсвэл багаж самбар дээрх ажиллуулах товчийг дарна уу. кодыг гүйцэтгэхийн тулд.

Тогтмол хувьсагч 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 хэмжээст массив нь 2 индекстэй - эхний индекс нь мөрүүдийг, 2 дахь индекс нь баганыг төлөөлнө. Энэ нь олон мөр, баганатай бөгөөд ихэвчлэн хүснэгтийн форматаар илэрхийлэгддэг.

2 бүдэг массивын мэдэгдэл дараах байдалтай байна:

Dim ArrayName(FirstIndex) LastIndex, FirstIndex To LastIndex) DataType байдлаар.

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-тай массив үүсгэж, түүний хэмжээг хэзээ ч өөрчлөхгүй гэдэгт итгэлтэй байж болно.

Динамик массив

Динамик массив нь ажлын явцад массивын хэмжээг өөрчлөх боломжийг олгодог. Эдгээр нь массивын хэмжээг сайн мэдэхгүй байгаа үед хэрэг болно. Та коллежид элсэхдээ хэдэн оюутан элсүүлэхийг мэдэхгүй байж магадгүй тул дизайн эсвэл зарлалын үед хэмжээг тодорхойлох боломжгүй.

Динамик массивын мэдэгдэл нь статиктай төстэй. хоосон хаалт бүхий массив.

Dim Employee() 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 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

Бидний ашигласан шиг. хадгалах түлхүүр үг, өмнө нь оруулсан утгууд алдагдахгүй бөгөөд шинэ утгыг амжилттай нэмсэн.

Хувилбарын массив

Одоог хүртэл бид ижил төрлийн утгуудыг хүлээн авах массивыг харж байна. Одоо массивыг хувилбар болгон зарлаж, 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 массивуудад янз бүрийн функцүүдийг гүйцэтгэхэд туслах хэд хэдэн аргууд байдаг.

Sl. Үгүй Нэр Синтакс Тодорхойлолт
1 Масив Array(arglist) Ердийн хувилбар

хувьсагчийг массив болгон хувиргана.

2 Устгах Масивын нэрийг устгах Тогтмол хэмжээтэй массивыг дахин эхлүүлэхэд ашиглагдана

болон санах ойг Динамикт зориулж чөлөөлнө.массив.

3 IsArray IsArray (хувьсагчийн нэр) хувьсагч нь массив.
4 Lbound LBound( МассивНэр, [Dimension] ) Масивын хамгийн доод доод тэмдгийг буцаана

.

5 Ubound UBound( ArrayName , [Хэмжээ] ) Масивины хамгийн дээд доод тэмдгийг буцаана

.

6 Хуваах Хуваах(илэрхийлэл, [ хязгаарлагч, [ хязгаарлалт, [ харьцуулах ]]]) Энэ нь мөрийг олон дэд мөр болгон хувааж, тэг дээр суурилсан массивыг буцаана.
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) Устгах

Энэ функц нь файлд оруулсан бүх утгыг устгах болно. тогтмол хэмжээтэй массив бөгөөд динамик массивын санах ойн зайг чөлөөлнө.

Үй зохиол: Массивын нэрийг устгах

Устгах нь өгөгдлийн дагуу өөр өөр өгөгдлийн төрлүүдэд өөр өөр үйлдэлтэй байна. доор байна.

  • Тогтмол тоон хувьд: Бүх утгууд нь тэг болж өөрчлөгдөнө.
  • Тогтмол мөрт өгөгдлийн төрлийн хувьд: Бүх утгуудын уртыг тэг болгож шинэчилнэ.
  • Динамик массивын хувьд: Масивын ашигладаг санах ойг чөлөөлнө.

Жишээ нь :

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 (хувьсагчийн нэр)

Жишээ нь:

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] )

МасивынНэр нь массивын нэр.

Хэмжээ нь нэмэлт бүхэл тоо бөгөөд хэрэв массив олон хэмжээстэй бол та дараахийг зааж өгч болно.Та аль хэмжээсийг 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( МассивНэр, [Хэмжээ] )

МассивНэр нь массив.

Хэмжээ нь нэмэлт бүхэл тоо бөгөөд хэрэв массив олон хэмжээстэй бол та 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 нь хэд хэдэн дэд мөрүүдийг нэгтгэн нэг мөр үүсгэх болно.

Синтакс: 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 дахь массивын уртыг хэрхэн авах вэ?

Хариулт: Массивын уртыг авахын тулд массивын хувьд бид Ubound функцийг ашигладаг. Энэ функц нь бидэнд заасан массивын дээд доод тэмдгийг өгөх болно.

Асуулт #2) VBA дээр массивыг хэрхэн зарлах вэ?

Хариулт: Нэг- хэмжээст массивыг доор харуулсны дагуу зарлав.

Dim массивын нэр(доод хязгаараас дээд хязгаар) DataType байдлаар

Жишээ нь: Dim Myarray(0-ээс 2) Бүхэл тоо

Хоёр хэмжээст

Дээд тал рүү орох