Převod matice na vektor - příklady kódu VBA

Převést matici na vektor

Toto je opačný tutoriál převodu jednoho řádku vektoru na maticový tutoriál.

Následující funkce převezme rozsah jako matici a převede jej na jeden sloupcový vektor:

Volba Explicitní funkce Create_Vector (Matrix_Range As Range) As Variant Dim No_of_Cols As Integer, No_Of_Rows As Integer Dim i as Integer Dim j As Integer Dim Cell No_of_Cols = Matrix_Range.Columns.Count No_Of_Rows = Matrix_Range.Rows._ount_DootTo 'Odstranit NULL podmínky, pokud Matrix_Range není nic, pak funkce Exit Pokud No_of_Cols = 0, pak funkce Exit If No_Of_Rows = 0 Then Exit Function For j = 1 To No_Of_Rows For i = 0 To No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Další i Další j Create_Vector = Temp_Array Koncová funkce

Například vektor:

Bude:

Kde jsme k vytištění vektoru použili následující podprogram:

Private Sub CommandButton1_Click () Dim Vector Dim k As Integer Vector = Create_Vector (Sheets ("Sheet1"). Range ("A4: D8")) For k = 1 To UBound (Vector) Sheets ("Sheet1"). Range (" B20 "). Ofset (k, 1). Hodnota = vektor (k) Další k Konec Sub

Tyto rutiny fungují jak na číslech, tak na textu.

Chcete -li stáhnout soubor .XLSM z tohoto kurzu, klikněte sem.

wave wave wave wave wave