Questo tutorial dimostrerà come generare un array in un intervallo utilizzando VBA.
Output (stampa) da matrice a intervallo
I dati archiviati in un array possono essere facilmente emessi in un foglio Excel. Ci sono 3 modi per farlo.
Invia i dati a un intervallo diverso
Potremmo popolare un array con i dati di un intervallo in Excel e quindi inviare i dati a un intervallo diverso in Excel.
12345678 | Public Sub TestOutput()'dichiarare l'arrayDim rnArray() come variante'popola l'array con l'intervallornArray = Intervallo ("A1: H24")'output dell'array su un diverso intervallo di celleIntervallo("J1:Q24") = rnArray()Fine sottotitolo |
L'intero array viene copiato in una riga di codice nell'array e quindi emesso nella sua interezza in un diverso intervallo di celle sul foglio.
Loop attraverso un array e output dei dati
Questo esempio eseguirà un ciclo attraverso un array, emettendo l'array in un intervallo.
12345678910111213 | Public Sub TestLoopArray()'dichiarare l'arrayDim rnArray() come variante'Dichiara l'intero per memorizzare il numero di righeDim iRw As Integer'Assegna un intervallo a una variabile dell'arrayrnArray = Intervallo ("A1: A10")'loop attraverso i valori nell'arrayPer iRw = LBound(rnArray) To UBound(rnArray)'popola un intervallo diverso con i datiCells(iRw, 2).Value = rnArray(iRw, 1)Avanti iRwFine sottotitolo |
LBounde UBoundrestituisce l'indice iniziale (limite inferiore) e l'indice finale (limite superiore) di un array, in questo caso 1 e 10.
Trasponi dati array
Possiamo anche trasporre i dati nell'array nel foglio Excel. Transpose consente di visualizzare i dati orizzontalmente sul foglio Excel.
Ad esempio, se abbiamo un elenco di stati in Excel e desideriamo trasporli.
Potremmo quindi eseguire il seguente codice:
12345678 | Public Sub TestOutputTranspose()'dichiarare l'arrayDim rnArray() come variante'popolalo con l'intervallornArray = Intervallo ("A1: A38")'trasporre i datiRange(Cells(1, 3), Cells(1, 40)).Value = Application.Transpose(rnArray)Fine sottotitolo |
Il che comporterebbe quanto segue:
Output su Debug.Print
Possiamo anche inviare i valori dell'array alla finestra di debug.
12345678910111213 | Sub TestLoopArray pubblico()'dichiarare l'arrayDim rnArray() come variante'Dichiara l'intero per memorizzare il numero di righeDim iRw As Integer'Assegna un intervallo a una variabile dell'arrayrnArray = Intervallo ("A1: A10")'loop attraverso le righe - da 1 a 10'Per iRw = 1 A UBound(rnArray)'output alla finestra immediataDebug.Print rnArray(iRw, 1)Avanti iRwFine sottotitolo |