Összefoglalás
Ez a cikk a Microsoft Visual Basic for Applications minta eljárásait tartalmazza, amelyekkel számos tömbtípussal dolgozhat.
További információ
A Microsoft csak illusztrációkhoz kínál programozási példákat, kifejezett vagy hallgatólagos garancia nélkül. Ez magában foglalja, de nem kizárólagosan az egy adott célra való eladhatóságra vagy alkalmasságra vonatkozó vélelmezett garanciákat. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás funkcióit, de nem módosítják ezeket a példákat, hogy további funkciókat biztosítsanak, és nem hozhatnak létre eljárásokat az Adott követelményeknek megfelelően. MEGJEGYZÉS: Az Visual Basic for Applications eljárásokban az aposztróf (') utáni szavak megjegyzések.
Tömb kitöltése és munkalapra másolása
-
Nyisson meg egy új munkafüzetet, és szúrjon be egy Visual Basic modullapot.
-
Írja be a következő kódot a modullapra.
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
-
Válassza a Munka1 lehetőséget.
-
Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók elemre.
-
A Makró párbeszédpanelen kattintson a Sheet_Fill_Array, majd a Futtatás gombra.
Értékek felvétele munkalapról és a tömb kitöltése
-
Írja be a Munkalap1 értékeit az A1:A10 cellába.
-
Egy Visual Basic-modullapon írja be a következő kódot:
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
-
Válassza a Munka1 lehetőséget.
-
Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók elemre.
-
A Makró párbeszédpanelen kattintson a from_sheet_make_array, majd a Futtatás gombra.
Tömb átadása és fogadása
-
Egy modullapon írja be a következő kódot:
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
-
Válassza a Munka1 lehetőséget, és jelölje ki az A1:A10 tartományt.
-
Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók elemre.
-
A Makró párbeszédpanelen kattintson a pass_array, majd a Futtatás gombra.
Két tömb összehasonlítása
-
Hozzon létre két elnevezett tartományt a Munka1 lapon. Nevezze el az egyik tartományt1 és a másik tartományt2.
Jelölje ki például az A1:A10 cellatartományt, és adja neki a tartomány1 nevet; jelölje ki a B1:B10 cellatartományt, és adja neki a tartomány2 nevet. -
Írja be a következő kódot a modullapra.
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
-
Válassza a Munka2 lehetőséget.
-
Az Eszközök menüben mutasson a Makró pontra, majd kattintson a Makró parancsra.
-
A Makró párbeszédpanelen kattintson a compare_two_array, majd a Futtatás gombra.
Minden összehasonlításhoz egy üzenetmező jelenik meg.
Dinamikus tömb kitöltése
-
Egy modullapon írja be a következő kódot:
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
-
Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók elemre.
-
A Makró párbeszédpanelen kattintson a fill_array, majd a Futtatás gombra.
MEGJEGYZÉS: A "number_of_elements" változó módosítása határozza meg a tömb méretét.