Konverter matrix til vektor - eksempler på VBA -kode

Indholdsfortegnelse

Konverter Matrix til en vektor

Dette er den modsatte vejledning til konvertering af en enkelt rækkevektor til en Matrix -vejledning.

Følgende funktion tager et område som en matrix og konverterer det til en enkelt kolonnevektor:

Option Eksplicit funktion Create_Vector (Matrix_Range As Range) Som Variant Dim No_of_Cols Som 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_R_Ro 'Eliminer NULL -betingelser, hvis Matrix_Range ikke er noget, og afslut derefter funktionen, hvis No_of_Cols = 0 derefter Exit -funktionen, hvis No_Of_Rows = 0 derefter Exit -funktionen for j = 1 til No_Of_Rows for i = 0 til No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Næste i Næste j Create_Vector = Temp_Array End Function

Så for eksempel vektoren:

Vil blive:

Hvor vi har brugt følgende underprogram til at udskrive vektoren:

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) .Værdi = Vector (k) Næste k Afslut Sub

Bemærk, at disse rutiner fungerer på både tal og tekst.

Klik her for at downloade .XLSM -filen fra denne vejledning.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave