Rezime
Ovaj članak sadrži uzorke procedura programa Microsoft Visual Basic for Applications koje možete da koristite za rad sa nekoliko tipova nizova.
Više informacija
Microsoft pruža primere za programiranje samo za ilustraciju, bez izražene ili podrazumevane garancije. To uključuje, ali nije ograničeno na, podrazumevane garancije za podstiču na raspoređenu robu ili podnožje za određenu svrhu. Ovaj članak pretpostavlja da ste upoznati sa programiranim jezikom koji se prikazuje i sa alatkama koje se koriste za kreiranje i otklanjanje grešaka u procedurama. Inženjeri Microsoft podrške mogu da objasne funkcionalnost određene procedure, ali neće izmeniti ove primere da bi obezbedili dodatnu funkcionalnost ili konstruktivne procedure kako bi ispunili vaše određene zahteve. NAPOMENA: U procedurama programa Visual Basic for Applications reči iza apostrofe (') su komentari.
Da biste popunili niz, a zatim ga kopirali u radni list
-
Otvorite novu radnu svesku i umetnite Visual Basic list sa modulom.
-
Otkucajte sledeći kôd na listu sa modulima.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
Izaberite stavku List1.
-
U meniju Alatke postavite pokazivač na stavku Makro, a zatim izaberite stavku Makroi.
-
U dijalogu Makro izaberite stavku Sheet_Fill_Array stavku Pokreni.
Da biste preuzeli vrednosti iz radnog lista i popunili niz
-
Otkucajte vrednosti na listu List1 u ćelijama A1:A10.
-
Na listu Visual Basic modula otkucajte sledeći kôd:
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Izaberite stavku List1.
-
U meniju Alatke postavite pokazivač na stavku Makro, a zatim izaberite stavku Makroi.
-
U dijalogu Makro izaberite stavku from_sheet_make_array stavku Pokreni.
Da biste prešli i primili niz
-
Na listu modula otkucajte sledeći kôd:
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Izaberite list1 i markirajte opseg A1:A10.
-
U meniju Alatke postavite pokazivač na stavku Makro, a zatim izaberite stavku Makroi.
-
U dijalogu Makro izaberite stavku pass_array stavku Pokreni.
Da biste uporedili dva niza
-
Kreirajte dva imenovana opsega na listu List1. Imenujte jedan opseg1, a drugi opseg2.
Na primer, istaknite opseg ćelija A1:A10 i imenujte ga opseg1; markirajte opseg ćelija B1:B10 i imenujte ga opseg2. -
Otkucajte sledeći kôd na listu sa modulima.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
Izaberite stavku List2.
-
U meniju Alatke postavite pokazivač na stavku Makro, a zatim izaberite stavku Makro.
-
U dijalogu Makro izaberite stavku compare_two_array stavku Pokreni.
Videćete jedan okvir za poruke za svako poređenje.
Da biste popunili dinamički niz
-
Na listu modula otkucajte sledeći kôd:
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
U meniju Alatke postavite pokazivač na stavku Makro, a zatim izaberite stavku Makroi.
-
U dijalogu Makro izaberite stavku fill_array stavku Pokreni.
NAPOMENA: Promena promenljive "number_of_elements" će odrediti veličinu niza.