Конвертиране на матрица във вектор - Примери за код на VBA

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

Това е противоположният урок на Преобразуването на вектор от един ред в урок за матрица.

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

Опция Изрична функция 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 файла от този урок, щракнете тук.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave