Съдържание
☰
- Етап 1Вземете интерактивен VBA урок безплатно
- Стъпка 2Нашата добавка VBA улеснява кодирането
- Стъпка 3Вижте нашия примерен код на VBA
- Наемете ниСложно изискване за VBA? Наемете нашите експерти.
Преобразувайте вектор от един ред в матрица
Това е противоположният урок на урока Convert Matrix to Vector.
Следващата функция взема едноредов вектор и се преобразува в матрица:
123456789101112131415161718 | Функция Create_Matrix (Vector_Range As Range, No_Of_Cols_in_output As Integer, No_of_Rows_in_output As Integer) Като вариантReDim Temp_Array (No_Of_Cols_in_output, No_of_Rows_in_output)Dim No_Of_Elements_In_Vector As IntegerDim Col_Count As Integer, Row_Count As IntegerDim CellNo_Of_Elements_In_Vector = Vector_Range.Rows.Count„Премахване на условията NULLАко Vector_Range не е нищо, излезте от функциятаАко No_Of_Cols_in_output = 0 След това излезте от функциятаАко No_of_Rows_in_output = 0 След това излезте от функциятаАко No_Of_Elements_In_Vector = 0, тогава излезте от функциятаFor Col_Count = 1 Към No_Of_Cols_in_outputЗа Row_Count = 1 към No_of_Rows_in_outputTemp_Array (Col_Count, Row_Count) = Vector_Range.Cells ((((No_of_Rows_in_output) * (Col_Count - 1) + Ro__Count), 1)Следващ Row_CountСледващ Col_CountCreate_Matrix = Temp_ArrayКрайна функция |
Функцията приема 3 аргумента:
• Обхватът на началния вектор
• Броят на необходимите редове в матрицата
• Броят на колоните, необходими в матрицата
Така че, ако имаме:
Тогава можем да извикаме нашата функция:
Преобразуване в_матрица (c7: c16,2,5)
Където:
1. c7: c16 е матричният диапазон
2. 2 е броят на необходимите редове в матрицата
3. 5 е броят на необходимите колони
И получаваме:
За да изтеглите .XLSM файла от тази функция, щракнете тук.