Chuyển đổi ma trận thành vectơ - Ví dụ về mã VBA

Chuyển đổi ma trận thành vectơ

Đây là hướng dẫn ngược lại với hướng dẫn Chuyển Vectơ Hàng Đơn thành hướng dẫn Ma trận.

Hàm sau sẽ nhận một dải ô dưới dạng ma trận và chuyển nó thành một vectơ cột đơn:

Tùy chọn hàm rõ ràng 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_Afount ReDim 'Loại bỏ điều kiện NULL nếu Matrix_Range không có gì thì thoát khỏi chức năng Nếu No_of_Cols = 0 Sau đó thoát khỏi hàm Nếu No_Of_Rows = 0 Sau đó thoát hàm Đối với j = 1 Đến No_Of_Rows Đối với i = 0 Đến No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Tiếp theo i Tiếp theo j Create_Vector = Temp_Array End Function

Vì vậy, ví dụ như vectơ:

Sẽ trở thành:

Nơi chúng tôi đã sử dụng chương trình con sau để in ra vector:

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"). Phạm vi (" B20 "). Offset (k, 1) .Value = Vector (k) Next k End Sub

Lưu ý rằng các quy trình này hoạt động trên cả số và văn bản.

Để tải xuống tệp .XLSM từ hướng dẫn này, hãy nhấp vào đây.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave