Πίνακας περιεχομένων
Μετατροπή μήτρας σε διάνυσμα
Αυτό είναι το αντίθετο σεμινάριο της μετατροπής ενός φορέα μονής σειράς σε ένα σεμινάριο μήτρας.
Η ακόλουθη συνάρτηση θα λάβει ένα εύρος ως μήτρα και θα το μετατρέψει σε διάνυσμα μίας στήλης:
Option 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_Rount_Rows_Rows_Row 'Εξαλείψτε τις συνθήκες NULL Αν το Matrix_Range δεν είναι τίποτα, τότε βγείτε από τη συνάρτηση εάν No_of_Cols = 0 Έπειτα εξέλθετε από τη συνάρτηση εάν No_Of_Rows = 0 Στη συνέχεια εξέλθετε από τη λειτουργία j = 1 Προς No_Of_Rows Για i = 0 Προς No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) Matrix_Range.Cells (j, i + 1) Next i Next j Create_Vector = Temp_Array End Function
Έτσι για παράδειγμα το διάνυσμα:
Θα γίνει:
Όπου έχουμε χρησιμοποιήσει την ακόλουθη υπορουτίνα για να εκτυπώσουμε το διάνυσμα:
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) Next k End Sub
Λάβετε υπόψη ότι αυτές οι ρουτίνες λειτουργούν τόσο σε αριθμούς όσο και σε κείμενο.
Για να κατεβάσετε το αρχείο .XLSM από αυτό το σεμινάριο, κάντε κλικ εδώ.