Ushbu qoʻllanma VBA massivi, turli massiv turlari, variant massivi va massiv usullarini dasturlash misollari yordamida tushuntirib beradi:
Oddiy VBA oʻzgaruvchisi - bu maʼlumotlarni saqlaydigan joy egasi. bitta ma'lumotlarning qiymati. U 1 dan 1 gacha munosabatga ega, ya'ni 1 qiymat uchun 1 o'zgaruvchi.
Endi bir xil turdagi bir nechta qiymatlarni saqlashni tasavvur qiling. Bir nechta o'zgaruvchilar yaratish o'rniga, siz faqat bitta o'zgaruvchini yaratishingiz va bir xil turdagi qiymatlarni saqlashingiz mumkin. Bu oʻzgaruvchi ARRAY deb ataladi.
Ushbu qoʻllanmada, Siz VBA massivi, bir o'lchovli va ikki o'lchovli massivlar nima ekanligini, shuningdek, Fixed va Dynamic kabi massivlarning har xil turlarini bilib olasiz. Shuningdek, biz VBA-da qo'llaniladigan turli massiv usullarini tushunamiz.
VBA massivi
Masivlar bir xil turdagi ma'lumotlarning bir nechta qiymatlarini saqlashi mumkin bo'lgan o'zgaruvchilarning maxsus turidir. .
Masalan, agar sizda 100 ta xodimning ismlari boʻlsa, unda 100 ta oʻzgaruvchini yaratish oʻrniga string tipidagi bitta massiv oʻzgaruvchisini yaratishingiz va 100 ta qiymat belgilashingiz mumkin. bir xil massiv o'zgaruvchisiga.
Bir o'lchovli massiv
Barcha elementlari bitta satr yoki bitta ustunda joylashgan massiv Bir o'lchovli massiv deyiladi. Sinfdagi barcha o‘quvchilarning ismlarini bitta ustunda ko‘rsatish bir o‘lchovli massivga misol bo‘la oladi. Ko'rsatilgandek e'lon qilinadimassiv quyida ko'rsatilganidek e'lon qilinadi.
Dim ArrayName(FirstIndex to LastIndex, FirstIndex to LastIndex) DataType sifatida.
Misol: Xira belgilar (1 dan 3 gacha) , 0 dan 2) Butun son sifatida
Q #3) Diapazonni massivga qanday o‘zgartiriladi?
Javob: Transpose funksiyasidan foydalanishimiz mumkin. diapazonni massivga aylantirish uchun. Bu kod Mys[10]
Sub Example() Dim Mys As Variant Mys = Application.Transpose(Range("A1:A10")) End Sub
Q#4-ni yaratadi) VBA-da massiv varianti nima?
Javob: Variantli massiv o'z indeksi uchun barcha turdagi ma'lumotlar turlarini qabul qiladi, ya'ni siz har xil turdagi qiymatlarni bitta massivda saqlashingiz mumkin.
Misol:
Dim arrayData(3) Variant sifatida
arrayData(0) = “Vikas Vipal”
arrayData(1) = 411234567890#
Massiv oʻlchamini oʻzgartirish usullari ish vaqti va shuningdek, redim preserve yordamida qiymatlarni saqlab qolish misollar bilan muhokama qilindi. Nihoyat, biz bir nechta operatsiyalarni bajarishda yordam beradigan Array usullarini o'rgandik.
quyida.Dim massiv nomi(pastki chegaradan UpperBoundgacha) DataType sifatida
Masivni e'lon qilishning bir necha yo'li mavjud. Quyida bir nechta misollar keltirilgan.
Misol:
#1) Dim MyArrayExample(0 dan 3 gacha) butun son
Integer qiymatlarini qabul qiladigan 0,1,2,3 manzilli massiv yaratadi.
#2) Dim MyArray2(3) String sifatida
Standart 0 dan dan 3 gacha va String qiymatlarini qabul qiladigan 0,1,2,3 joylashuvli massiv yaratadi.
#3) Dim MyArray2(13 dan 15) Double sifatida
13, 13, 14 va 15 dan boshlab massiv yaratadi va Double qiymatlarini qabul qiladi. Biz pastki chegarani 13 deb zikr qildik, shuning uchun massiv qiymatlarni 0 emas, balki 13-joydan ajratishni boshlaydi.
Keling, oddiy kod yarataylik va massiv e'lon qilishning barcha 3 usulini tushunamiz.
Izoh: VB kodini yozish uchun Microsoft Excel-ni oching (qo'llab-quvvatlanadigan versiyalar Excel 2007, 2010, 2013, 2016, 2019). Dasturchi yorlig'iga o'ting -> Visual Basic (Muqobil ravishda Alt+F11 yorliqlaridan foydalaning). VB muharririda Qo'shish -> Modul va quyidagi kodni joylashtiring.
Har xil turdagi deklaratsiyalarni ko'rsatadigan quyidagi protsedurani ko'rib chiqing.
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 tugmasini bosing yoki asboblar panelidagi ishga tushirish tugmasini bosing. kodni bajarish uchun.
Muntazam o'zgaruvchi va massiv o'zgaruvchisi
Biz endi bir o'lchovli massiv qanday ishlashini bilamiz. Keling, massivlar nima uchun juda muhim ekanligini tushunish uchun bir oz vaqt ajratamizdasturlash tillari.
Siz 5 nafar xodimning ish haqini kiritishingiz kerak deb hisoblang. Oddiy o'zgaruvchi yordamida bunga erishish uchun siz 5 ta o'zgaruvchi yaratishingiz kerak.
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
Endi bir xil kodni Array o'zgaruvchisi yordamida tuzamiz.
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
Bu erda, biz barcha xodimlar nomlarini saqlaydigan bitta massiv o'zgaruvchisidan foydalandik. Aytaylik, siz yana 100 ta xodim nomini qo'shishingiz kerak, keyin siz shunchaki massiv hajmini o'zgartirishingiz kerak va yangi o'zgaruvchi yaratishingiz shart emas.
Bu koddagi qatorlar sonini kamaytiradi va shu bilan uni osonlashtiradi. tushunarli va o'qilishi mumkin.
Ikki o'lchovli massiv
2 o'lchovli massiv 2 ta indeksga ega - birinchi indeks satrlarni va 2-indeks ustunni ifodalaydi. U bir nechta satr va ustunlarga ega va odatda jadval formatida taqdim etiladi.
2 xira massivning e'lon qilinishi quyidagicha:
Dim ArrayName(FirstIndex) LastIndexga, FirstIndex To LastIndex) DataType sifatida.
3 ta fan bo‘yicha olgan 2 nafar talabaning baholarini saqlash misolini ko‘rib chiqing. Shunday qilib, biz 2 satr va 3 ustundan iborat 2 o'lchovli massiv yaratamiz.
Biz massivni 1-qatordan 2-qatorgacha va 1-ustundan 3-ustungacha boshlaymiz.
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 tugmasini bosing. yoki Kodni bajarish uchun asboblar panelidagi ishga tushirish tugmasini bosing.
2-qator va 2-ustun
1-qator va 3-ustun
Ruxsat etilgan massivlar
Ruxsat etilgan massivlar Statik deb ham ataladi.Massivlar o'zgarmas pastki va yuqori chegaraga ega va bu o'lchamni ishga tushirish vaqtida o'zgartirib bo'lmaydi. Massivning o'lchami deklaratsiya paytida qavslar ichida ko'rsatiladi. Yuqoridagi barcha misollar Ruxsat etilgan massivlardir, chunki biz deklaratsiya paytida uning o'lchamini aytib o'tgan edik.
Odatda, siz massivning o'lchamiga ishonchingiz komil bo'lganda, qo'zg'almas massivlar ishlatiladi. Masalan, haftadagi kunlar soni, siz pastki chegarasi 0 va yuqori chegarasi 6 bo'lgan massiv yaratishingiz va uning hajmini hech qachon o'zgartirmasligingizga ishonch hosil qilishingiz mumkin.
Dinamik massivlar
Dinamik massivlar ishga tushirish vaqtida massiv hajmini o‘zgartirish imkonini beradi. Bular massivning o'lchamiga ishonchingiz komil bo'lmaganda foydalidir. Faraz qilaylik, kollejga kirishda siz qancha talaba qabul qilinishiga ishonchingiz komil bo'lmasligi mumkin, shuning uchun dizayn yoki deklaratsiya vaqtida hajmini aniqlay olmaysiz.
Dinamik massiv deklaratsiyasi Statik qatorga o'xshaydi. massiv bo'sh qavslar bilan.
Dim Employee() As String
REDIM
O'lchamni o'zgartirmoqchi bo'lganimizda dan foydalanishimiz kerak. REDIM , shuni ta'kidlashimiz kerakki, pastki chegarani o'zgartirib bo'lmaydi, biz faqat massivning yuqori chegarasini o'zgartirishimiz mumkin.
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
Endi biz bilamizki, biz buni qila olamiz. ish vaqti davomida massiv hajmini o'zgartiring, shuning uchun biz massivning uboundini oshirish kerak bo'lganda ReDim iborasidan foydalanishimiz mumkin. Keling, massiv hajmini yana bir marta oshirib, yangisini qo'shishga harakat qilayliktalaba ismi.
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
Natijada avval qoʻshilgan talabalarning ismlari koʻrsatilmaganini kuzatgan boʻlardingiz, u nol qiymat beradi. Buning sababi, Redim operatori yangi o'lchamdagi yangi massiv yaratadi va eski qiymatlarni yo'q qiladi.
ReDim Preserve
Represerve iborasi eski qiymatlarni saqlab, ReDim cheklanishini engib o'tishga yordam beradi. va shu bilan massiv hajmini oshiradi.
Keling, ReDim Preserve-dan foydalanib yuqoridagi kodni qayta yozamiz.
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
Biz foydalanganimizdek Preserve kalit so'zi, avval kiritilgan qiymatlar yo'qolmaydi va yangi qiymat muvaffaqiyatli qo'shiladi.
Variant massivi
Hozirgacha biz bir xil turdagi qiymatlarni qabul qiluvchi massivni ko'rdik. Endi massivni variant sifatida e'lon qilamiz va String, Date, Long, Integer kabi har xil turdagi ma'lumotlarni bitta massivda saqlaymiz.
Misol:
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 massiv usullari
VBA massivlarida quyida aytib o'tilganidek, turli funktsiyalarni bajarishimizga yordam beradigan bir nechta usullar mavjud.
Sl. No | Ism | Sintaksis | Tavsif |
---|---|---|---|
1 | Masiv | Array(arglist) | Oddiy variantni oʻzgaruvchini massivga aylantiradi. |
2 | Oʻchirish | Masiv nomini oʻchirish | Qayta oʻlchamli massivni qayta ishga tushirish uchun ishlatiladi va Dynamic uchun xotirani boʻshatadimassiv. |
3 | IsArray | IsArray (oʻzgaruvchi nomi) | A yoki yoʻqligini aniqlaydi. o'zgaruvchi massivdir. |
4 | Lbound | LBound( ArrayName, [Dimension] ) | Masivning eng past pastki belgisini qaytaradi. |
5 | Ubound | UBound( ArrayName , [Dimension] ) | Masivning eng yuqori pastki belgisini qaytaradi. |
6 | Split | Split(ifoda, [ delimiter, [ chegara, [ qiyoslash ]]]) | U qatorni bir nechta pastki qatorlarga ajratadi va nolga asoslangan massivni qaytaradi. |
7 | Join | Join(sourcearray, [ delimiter ]) | Masivdagi bir nechta pastki qatorlarni birlashtiradi va satr qiymatini qaytaradi . |
8 | Filtr | Filtr (manba massivi, moslash, [ qoʻshish, [ qiyoslash ]]) | Filtr massivdan belgilangan moslikni qidirishga imkon beradi. |
Keling, ularning har birini misol bilan batafsil muhokama qilaylik.
#1) Massiv
Keling, oddiy variant oʻzgaruvchini eʼlon qilamiz va undan massiv sifatida foydalanamiz. Oddiy variant oʻzgaruvchisini massivga oʻzgartirmoqchi boʻlsangiz, quyidagi misolda koʻrsatilganidek, ARRAY funksiyasidan foydalanishimiz kerak.
Masiv funksiyalari vergul bilan ajratilgan qiymatlarni oʻz ichiga olgan argumentni qabul qiladi. . Bu qiymatlar massiv elementi sifatida tayinlangan.
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
Siz indeks yordamida massiv oʻzgaruvchisini aniqlashingiz kerak,shuning uchun yuqoridagi misolda qiymatlar varData(0) varData(2) varData(3) sifatida olinadi.
#2) Oʻchirish
Ushbu funktsiya a uchun kiritilgan barcha qiymatlarni oʻchirib tashlaydi. oʻzgarmas oʻlchamli massiv va dinamik massiv uchun xotira maydonini boʻshatadi.
Sintaksis: massiv nomini oʻchirish
Oʻchirish har xil maʼlumotlar turlari uchun har xil harakatga ega. quyida.
- Ruxsat etilgan raqam uchun: Barcha qiymatlar nolga qaytariladi.
- Qatilgan qatorli ma'lumotlar turi uchun: Barcha qiymatlar nol uzunlikka qaytariladi.
- Dinamik massiv uchun: Masiv tomonidan ishlatiladigan xotirani bo'shatadi.
Misol :
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
Oʻchirish funksiyasidan foydalanishdan oldingi natija
Oʻchirishdan keyingi natija
#3) IsArray
Bu funksiya berilgan kirish oʻzgaruvchisi massiv yoki massiv emasligini aniqlash uchun ishlatiladi. Kiritilgan o'zgaruvchi rost bo'lsa, u rostni qaytaradi, aks holda u noto'g'ri qaytaradi.
Sintaksis : IsArray (variablename)
Misol:
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
Birinchi xabar qutisi natijasi
Ikkinchi xabar qutisi natijasi
#4) Lbound
Lbound funksiyasi uchun argument sifatida belgilangan massivning eng past pastki indeksini qaytaradi.
Sintaksis: LBound( ArrayName, [Dimension] )
Masiv nomi - massiv nomi.
O'lcham - ixtiyoriy butun son qiymati, agar massivda bir nechta o'lchovlar bo'lsa, siz quyidagilarni belgilashingiz mumkinLboundni qaysi o'lchamni aniqlamoqchisiz.
Misol:
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
U Ubound funksiyasida argument sifatida belgilangan massivning yuqori pastki belgisini qaytaradi.
Sintaksis: UBound( ArrayName, [Dimension] )
ArrayName - massivning nomi. massiv.
Dimension - bu ixtiyoriy butun son qiymati, agar massivda bir nechta oʻlchamlar boʻlsa, u holda siz qaysi oʻlchamni Uboundni aniqlashni belgilashingiz mumkin.
Misol:
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) Split
U berilgan butun satrdan olingan bir qancha pastki qatorlar bilan massivni qaytaradi.
Sintaksis: Split(ifoda, [ ajragich, [ chegara, [ qiyoslash ]]])
- Ifoda: Bu butun satr uchun ishlatiladi. pastki satrlarni ishlab chiqarish.
- Ajratish: Belgilangan ajratgich yordamida pastki satrlar hosil bo'ladi. Agar bu eslatilmagan bo'lsa, bo'sh joy ajratuvchi sifatida qabul qilinadi.
- Cheklash: Qaytarilishi kerak bo'lgan pastki qatorlar soni.
- Solishtiring: pastki satr ishlab chiqarilgan bo'lsa, natijani sinab ko'rish uchun turli xil taqqoslash opsiyalaridan foydalanishingiz mumkin.
Misol: Quyidagi misolda biz chegaralovchini – va cheklovni 3 sifatida ishlatamiz.
Shuning uchun ajratish funksiyasi butun qatorni chegaralovchiga asoslanib pastki qatorga ajratadi. Lekin biz chegarani 3 deb ham aytib o'tdik, shuning uchun 3 chegaradan keyin pastki qatorlar hosil bo'lmaydi. Shunday qilib, oxirgi ajratuvchi –oʻtkazib yuboriladi.
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) Qoʻshilish
Bu boʻlinishning teskarisi, Qoʻshilish bir nechta pastki qatorlarni birlashtirib, bitta satr yaratadi.
Sintaksis: Join(sourcearray, [ delimiter ])
Manbaa massivi: Bir oʻlchovli qatorga qoʻshmoqchi boʻlgan qatorlar.
Ajratishchi: Belgilangan ajratuvchi qoʻshilish vaqtida har bir satrdan keyin qoʻshiladi.
Masalan:
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
Barcha 3 ta qiymat birlashtiriladi va \ har bir so'z orasiga joylashtiriladi, biz aytib o'tganimizdek \ ajratuvchi sifatida.
#8) Filtr
Filtr bizga imkon beradi massivdan belgilangan moslikni qidiring. Filtr mezonlariga asoslanib, qator qatorining quyi to'plami qaytariladi.
Sintaksis: Filtr(manba massivi, mos, [ o'z ichiga oladi, [ solishtiring ]])
Misol:
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
Ushbu misol filtr funksiyasidan foydalangan holda barcha massiv qatorida "yordam" so'zini qidiradi.
Tez-tez beriladigan savollar
Savol №1) VBA-da massiv uzunligini qanday olish mumkin?
Javob: Masiv uzunligini olish uchun massivda biz Ubound funksiyasidan foydalanamiz. Bu funksiya bizga ma'lum massivning yuqori subscriptini beradi.
2-savol) VBA-da massiv qanday e'lon qilinadi?
Javob: Bir- o'lchovli massiv quyida ko'rsatilgandek e'lon qilinadi.
Dim massiv nomi (pastki chegaradan yuqori chegaraga) DataType sifatida
Misol: Dim Myarray(0 dan 2) butun son sifatida
Ikki o'lchovli