Sign in with Microsoft
Sign in or create an account.

A cikk Microsoft Excel 2000-es verziója a következő 213798.

A cikk Microsoft Excel 98-as és Excel verzióit a következő cikkben 149689.

Összefoglalás

Ez a cikk a Microsoft Visual Basic for Applications eljárásokat tartalmaz, amelyek számos különböző típusú tömbhöz használhatók.

További információ

A Microsoft csak illusztrációkhoz biztosít programozási példákat, jótállás kifejezett vagy vélelmezett nélkül. Ez többek között magában foglalja az adott célra való forgalomra vagy alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk abból indul ki, hogy Ön ismeri a bemutatott programnyelvet, valamint az eljárások létrehozására és a hibakeresésre használt eszközöket. A Microsoft támogatási szakemberei elmagyarázzák egy adott eljárás működését, de nem módosítják ezeket a példákat, hogy további funkciókat vagy az Ön igényeinek megfelelő eljárásokat építsen ki. MEGJEGYZÉS: Visual Basic for Applications eljárásban az aposztróf (') után következő szavak megjegyzések.

Tömb kitöltése és másolása munkalapra

  1. Nyisson meg egy új munkafüzetet, és szúrjon Visual Basic modullapot.

  2. Írja be az alábbi 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
  3. Válassza a Munka1 lehetőséget.

  4. Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók parancsra.

  5. A Makró párbeszédpanelen kattintson a Makró Sheet_Fill_Array, majd a Futtatás gombra.

Értékek kihozása munkalapról és a tömb kitöltése

  1. Írja be a Munka1 munkalap értékeit az A1:A10 cellákba.

  2. Egy Visual Basic í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
  3. Válassza a Munka1 lehetőséget.

  4. Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók parancsra.

  5. A Makró párbeszédpanelen kattintson a Makró from_sheet_make_array, majd a Futtatás gombra.

Tömb át- és fogadása

  1. 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
  2. Válassza a Munka1 lehetőséget, és jelölje ki az A1:A10 tartományt.

  3. Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók parancsra.

  4. A Makró párbeszédpanelen kattintson a Makró pass_array, majd a Futtatás gombra.

Két tömb összehasonlítása

  1. 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 nevezze el tartomány1-nek; jelölje ki a B1:B10 cellatartományt, és nevezze el tartomány2-nek.

  2. Írja be az alábbi 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
  3. Válassza a Munka2 lehetőséget.

  4. Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makró parancsra.

  5. A Makró párbeszédpanelen kattintson a Makró compare_two_array, majd a Futtatás gombra.

    Minden összehasonlításhoz egy üzenetmező jelenik meg.

Dinamikus tömb kitöltése

  1. 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
  2. Az Eszközök menüben mutasson a Makró elemre, majd kattintson a Makrók parancsra.

  3. A Makró párbeszédpanelen kattintson a Makró 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.

További segítségre van szüksége?

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Csatlakozás a Microsoft Insiderek

Hasznos volt az információ?

Mennyire elégedett a fordítás minőségével?
Mi befolyásolta a felhasználói élményét?

Köszönjük a visszajelzését!

×