Denna handledning visar hur man matar ut en array till ett intervall med VBA.
Utmatning (utskrift) Array to Range
Data som lagras i en array kan enkelt matas ut i ett Excel -ark. Det finns 3 sätt att göra detta.
Mata ut data till ett annat område
Vi kan fylla i en array med data från ett intervall i Excel och sedan mata ut data till ett annat intervall i Excel.
12345678 | Public Sub TestOutput ()'deklarera matrisenDim rnArray () Som variant'fyll i matrisen med intervalletrnArray = Område ("A1: H24")'mata ut matrisen till ett annat cellområdeOmråde ("J1: Q24") = rnArray ()Avsluta Sub |
Hela matrisen kopieras i en kodrad till matrisen och skickas sedan i sin helhet till ett annat cellområde på arket.
Looping Through a Array och mata ut data
Det här exemplet går genom en matris och matar ut matrisen till ett intervall.
12345678910111213 | Public Sub TestLoopArray ()'deklarera matrisenDim rnArray () Som variant'Deklarera heltalet för att lagra antalet raderDim iRw som heltal'Tilldela intervallet till en matrisvariabelrnArray = Område ("A1: A10")'gå igenom värdena i matrisenFör iRw = LBound (rnArray) Till UBound (rnArray)'fylla i ett annat intervall med dataCeller (iRw, 2) .Värde = rnArray (iRw, 1)Nästa iRwAvsluta Sub |
LBundoch UBoundreturnerar startindex (nedre gräns) och slutindex (övre gräns) för en array, i detta fall 1 och 10.
Transponera matrisdata
Vi kan också överföra data i Array till Excel -bladet. Med Transpose kan du visa data horisontellt över Excel -arket.
Om vi till exempel har en lista över tillstånd i Excel och vill transponera dem.
Vi kan sedan köra följande kod:
12345678 | Public Sub TestOutputTranspose ()'deklarera matrisenDim rnArray () Som variant'fylla det med intervalletrnArray = Område ("A1: A38")'införliva uppgifternaOmråde (Celler (1, 3), Celler (1, 40)). Värde = Application.Transpose (rnArray)Avsluta Sub |
Vilket skulle resultera i följande:
Utdata till Debug.Print
Vi kan också mata ut matrisvärdena till felsökningsfönstret.
12345678910111213 | Public Sub TestLoopArray ()'deklarera matrisenDim rnArray () Som variant'Deklarera heltalet för att lagra antalet raderDim iRw som heltal'Tilldela intervallet till en matrisvariabelrnArray = Område ("A1: A10")'gå igenom raderna - 1 till 10För iRw = 1 Till UBound (rnArray)'utmatning till det omedelbara fönstretDebug.Print rnArray (iRw, 1)Nästa iRwAvsluta Sub |