Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Samenvatting

Dit artikel bevat voorbeeldprocedures van Microsoft Visual Basic for Applications die u kunt gebruiken om met verschillende typen matrices te werken.

Meer informatie

Microsoft biedt programmeervoorbeelden alleen ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal die wordt gedemonstreerd en met de hulpprogramma's die worden gebruikt om procedures te maken en fouten op te sporen. Ondersteuningstechnici van Microsoft kunnen helpen bij het uitleggen van de functionaliteit van een bepaalde procedure, maar ze zullen deze voorbeelden niet wijzigen om extra functionaliteit te bieden of procedures te maken die voldoen aan uw specifieke vereisten. OPMERKING: In Visual Basic for Applications-procedures zijn de woorden na de apostrof (') opmerkingen.
 

Een matrix vullen en deze vervolgens naar een werkblad kopiëren

  1. Open een nieuwe werkmap en voeg een Visual Basic-moduleblad in.

  2. Typ de volgende code op het moduleblad.

    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. Selecteer Blad1.

  4. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Macro's.

  5. Klik in het dialoogvenster Macro op Sheet_Fill_Array en klik vervolgens op Uitvoeren.

Waarden uit een werkblad nemen en de matrix invullen

  1. Typ waarden op Blad1 in cellen A1:A10.

  2. Typ de volgende code op een Visual Basic-moduleblad:

    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. Selecteer Blad1.

  4. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Macro's.

  5. Klik in het dialoogvenster Macro op from_sheet_make_array en klik vervolgens op Uitvoeren.

Een matrix doorgeven en ontvangen

  1. Typ de volgende code op een moduleblad:

    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. Selecteer Blad1 en markeer het bereik A1:A10.

  3. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Macro's.

  4. Klik in het dialoogvenster Macro op pass_array en klik vervolgens op Uitvoeren.

Twee matrices vergelijken

  1. Maak twee benoemde bereiken op Blad1. Noem het ene bereik1 en het andere bereik2.

    Markeer bijvoorbeeld het celbereik A1:A10 en noem het bereik1; markeer het celbereik B1:B10 en noem het bereik2.

  2. Typ de volgende code op het moduleblad.

    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. Selecteer Blad2.

  4. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Macro.

  5. Klik in het dialoogvenster Macro op compare_two_array en klik vervolgens op Uitvoeren.

    U ziet één berichtvak voor elke vergelijking.

Een dynamische matrix vullen

  1. Typ de volgende code op een moduleblad:

    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. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Macro's.

  3. Klik in het dialoogvenster Macro op fill_array en klik vervolgens op Uitvoeren.

OPMERKING: als u de variabele 'number_of_elements' wijzigt, wordt de grootte van de matrix bepaald.
 

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×