Съдържание
Преобразуване на матрица във вектор
Това е противоположният урок на Преобразуването на вектор от един ред в урок за матрица.
Следващата функция ще вземе диапазон като матрица и ще го преобразува във вектор с една колона:
Опция Изрична функция Create_Vector (Matrix_Range As Range) Като 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 = Rex_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) Matrix_Range.Cells (j, i + 1) Next i Next 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). Стойност = Вектор (k) Следваща k Крайна подс
Обърнете внимание, че тези подпрограми работят както с числа, така и с текст.
За да изтеглите .XLSM файла от този урок, щракнете тук.