Konvertera matris till vektor - exempel på VBA -kod

Innehållsförteckning

Konvertera matris till en vektor

Detta är den motsatta handledningen för att konvertera en enkel radvektor till en matrishandledning.

Följande funktion tar ett intervall som en matris och konverterar det till en enda kolumnvektor:

Alternativ Explicit Function 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.Or_Cr_Ro_Or_Cr_Ro 'Eliminera NULL -villkor Om Matrix_Range inte är något, avsluta funktionen Om No_of_Cols = 0 Sedan avsluta funktionen om No_Of_Rows = 0 Sedan avsluta funktionen för j = 1 Till No_Of_Rows för i = 0 To No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Nästa i Nästa j Create_Vector = Temp_Array End Function

Så till exempel vektorn:

Kommer att bli:

Där vi har använt följande underprogram för att skriva ut vektorn:

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 "). Offset (k, 1) .Value = Vector (k) Nästa k Slut Sub

Observera att dessa rutiner fungerar på både siffror och text.

För att ladda ner .XLSM -filen från den här självstudien, klicka här.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave