Преобразование матрицы в вектор - примеры кода VBA

Преобразовать матрицу в вектор

Это урок, противоположный руководству «Преобразование однострочного вектора в матрицу».

Следующая функция принимает диапазон как матрицу и преобразует его в вектор-столбец:

Параметр Явная функция 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 'Исключить условия 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) + j) = Matrix_Range.Cells (j, i + 1) Далее i Далее j Create_Vector = Temp_Array End Функция

Так, например, вектор:

Станет:

Где мы использовали следующую подпрограмму для печати вектора:

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 "). Смещение (k, 1). Value = Vector (k) Next k End Sub

Обратите внимание, что эти процедуры работают как с числами, так и с текстом.

Чтобы загрузить файл .XLSM из этого руководства, щелкните здесь.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave