Konverter matrise til vektor - eksempler på VBA -kode

Innholdsfortegnelse

Konverter Matrix til en vektor

Dette er den motsatte opplæringen til konvertering av en enkelt radvektor til en matriseopplæring.

Følgende funksjon vil ta et område som en matrise og konvertere det til en enkelt kolonnevektor:

Alternativ Eksplisitt Funksjon Create_Vector (Matrix_Range As Range) Som 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_R_Ro_Cr_Ro 'Eliminer NULL -betingelser Hvis Matrix_Range ikke er noe, avslutt deretter funksjonen Hvis No_of_Cols = 0 Avslutt deretter funksjonen hvis No_Of_Rows = 0 deretter avslutt funksjonen for j = 1 til No_Of_Rows for i = 0 To No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Neste i Neste j Create_Vector = Temp_Array End Function

Så for eksempel vektoren:

Vil bli:

Hvor vi har brukt følgende underprogram for å skrive ut 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) .Value = Vector (k) Neste k End Sub

Vær oppmerksom på at disse rutinene fungerer på både tall og tekst.

For å laste ned .XLSM -filen fra denne opplæringen, klikk her.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave