VBA Output (Print) Array to Range

Acest tutorial va arăta cum se generează o matrice într-un interval folosind VBA.

Ieșire (imprimare) matrice la interval

Datele stocate într-o matrice pot fi transmise cu ușurință într-o foaie Excel. Există 3 moduri de a face acest lucru.

Date de ieșire la o gamă diferită

Am putea completa o matrice cu date dintr-un interval din Excel, iar apoi să trimitem datele într-un interval diferit din Excel.

12345678 Public Sub TestOutput ()'declara matriceaDim rnArray () Ca variantă'populează matricea cu intervalulrnArray = Range ("A1: H24")'generează matricea într-o gamă diferită de celuleGama ("J1: Q24") = rnArray ()Sfârșitul Sub

Întreaga matrice este copiată într-o singură linie de cod în matrice și apoi este trimisă în întregime la o gamă diferită de celule de pe foaie.

Buclarea printr-o matrice și transmiterea datelor

Acest exemplu va face o buclă printr-o matrice, ieșind matricea într-un interval.

12345678910111213 Public Sub TestLoopArray ()'declara matriceaDim rnArray () Ca variantă'Declarați numărul întreg pentru a stoca numărul de rânduriDim iRw Ca întreg'Atribuiți intervalul unei variabile matricernArray = Range ("A1: A10")'parcurge valorile din matricePentru iRw = LBound (rnArray) To UBound (rnArray)„populează un interval diferit cu dateleCelule (iRw, 2). Valoare = rnArray (iRw, 1)Următorul iRwSfârșitul Sub

LBoundși UBoundreturnează indicele inițial (legat inferior) și indicele final (legat superior) al unui tablou, în acest caz 1 și 10.

Transpune date matrice

De asemenea, putem transpune datele din matrice în foaia Excel. Transpose vă permite să afișați datele orizontal pe foaia Excel.

De exemplu, dacă avem o listă de stări în Excel și dorim să le transpunem.

Am putea rula apoi următorul cod:

12345678 Public Sub TestOutputTranspose ()'declara matriceaDim rnArray () Ca variantă'populează-l cu gamarnArray = Range ("A1: A38")'transpune dateleGama (celule (1, 3), celule (1, 40)). Valoare = Application.Transpose (rnArray)Sfârșitul Sub

Ceea ce ar rezulta în următoarele:

Ieșire la Debug.Print

De asemenea, putem transmite valorile matricei în fereastra de depanare.

12345678910111213 Public Sub TestLoopArray ()'declara matriceaDim rnArray () Ca variantă'Declarați numărul întreg pentru a stoca numărul de rânduriDim iRw Ca întreg'Atribuiți intervalul unei variabile matricernArray = Range ("A1: A10")'buclă prin rânduri - de la 1 la 10Pentru iRw = 1 la UBound (rnArray)'ieșire în fereastra imediatăDebug.Print rnArray (iRw, 1)Următorul iRwSfârșitul Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave