Obsah
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.