Μετατροπή μήτρας σε διάνυσμα - Παραδείγματα κώδικα VBA

Πίνακας περιεχομένων

Μετατροπή μήτρας σε διάνυσμα

Αυτό είναι το αντίθετο σεμινάριο της μετατροπής ενός φορέα μονής σειράς σε ένα σεμινάριο μήτρας.

Η ακόλουθη συνάρτηση θα λάβει ένα εύρος ως μήτρα και θα το μετατρέψει σε διάνυσμα μίας στήλης:

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 από αυτό το σεμινάριο, κάντε κλικ εδώ.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave