Deze zelfstudie laat zien hoe u met VBA een array naar een bereik kunt uitvoeren.
Uitvoer (afdrukken) array naar bereik
Gegevens die in een array zijn opgeslagen, kunnen eenvoudig worden uitgevoerd in een Excel-blad. Er zijn 3 manieren om dit te doen.
Gegevens uitvoeren naar een ander bereik
We kunnen een array vullen met gegevens uit het ene bereik in Excel en de gegevens vervolgens uitvoeren naar een ander bereik in Excel.
12345678 | Openbare subtestuitvoer()'declareer de array'Dim rnArray() als variant'vul de array in met het bereik'rnArray = Bereik ("A1:H24")'voer de array uit naar een ander celbereik'Bereik ("J1:Q24") = rnArray()Einde sub |
De hele array wordt in één regel code naar de array gekopieerd en vervolgens in zijn geheel naar een ander cellenbereik op het blad uitgevoerd.
Een array doorlussen en de gegevens uitvoeren
Dit voorbeeld loopt door een array en voert de array uit naar een bereik.
12345678910111213 | Openbare Sub TestLoopArray()'declareer de array'Dim rnArray() als variant'Declareer het gehele getal om het aantal rijen op te slaanDim iRw als geheel getal'Wijs een bereik toe aan een arrayvariabele'rnArray = Bereik ("A1:A10")'loop door de waarden in de array'Voor iRw = LBound(rnArray) Naar UBound(rnArray)'vul een ander bereik met de gegevens'Cellen (iRw, 2). Waarde = rnArray (iRw, 1)Volgende iRwEinde sub |
LBounden UBoundgeeft de startindex (ondergrens) en eindindex (bovengrens) van een array terug, in dit geval 1 en 10.
Arraygegevens transponeren
We kunnen de gegevens in de array ook transponeren naar het Excel-blad. Met Transponeren kunt u de gegevens horizontaal over het Excel-blad weergeven.
Als we bijvoorbeeld een lijst met staten in Excel hebben en deze willen transponeren.
We zouden dan de volgende code kunnen uitvoeren:
12345678 | Publieke Sub TestOutputTranspose()'declareer de array'Dim rnArray() als variant'vul het met het bereik'rnArray = Bereik ("A1:A38")'transponeer de gegevens'Bereik (Cellen (1, 3), Cellen (1, 40)). Waarde = Toepassing. Transponeren (rnArray)Einde sub |
Wat zou resulteren in het volgende:
Uitvoer naar Debug.Print
We kunnen de arraywaarden ook uitvoeren naar het foutopsporingsvenster.
12345678910111213 | Openbare Sub TestLoopArray()'declareer de array'Dim rnArray() als variant'Declareer het gehele getal om het aantal rijen op te slaanDim iRw als geheel getal'Wijs een bereik toe aan een arrayvariabele'rnArray = Bereik ("A1:A10")'loop door de rijen - 1 tot 10'Voor iRw = 1 Naar UBound(rnArray)'uitvoer naar het directe venster'Debug.Print rnArray(iRw, 1)Volgende iRwEinde sub |