- Шаг 1Выньте интерактивное учебное пособие по VBA бесплатно
- Шаг 2Наша надстройка VBA упрощает загрузку кода
- Шаг 3Обратитесь к нашему образцу кода VBA
- Нанять насСложное требование VBA? Нанимайте наших специалистов.
Преобразование однострочного вектора в матрицу
Это урок, противоположный руководству «Преобразовать матрицу в вектор».
Следующая функция принимает вектор-строку и преобразует его в матрицу:
123456789101112131415161718 | Функция Create_Matrix (Vector_Range как диапазон, No_Of_Cols_in_output как целое число, No_of_Rows_in_output как целое число) как вариантReDim Temp_Array (No_Of_Cols_in_output, No_of_Rows_in_output)Dim No_Of_Elements_In_Vector как целое числоDim Col_Count как целое число, Row_Count как целоеТусклая ячейкаNo_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, тогда выйти из функцииДля 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) + Row_Count), 1)Следующий Row_CountСледующий Col_CountCreate_Matrix = Temp_ArrayКонечная функция |
Функция принимает 3 аргумента:
• Диапазон начального вектора
• Количество строк, необходимых в матрице
• Количество столбцов, необходимых в матрице.
Итак, если у нас есть:
Затем мы можем вызвать нашу функцию:
Преобразовать_в_матрицу (c7: c16,2,5)
Где:
1. c7: c16 - диапазон матрицы
2. 2 - количество строк, необходимых в матрице
3. 5 - необходимое количество столбцов.
И получаем:
Чтобы загрузить файл .XLSM из этой функции, щелкните здесь.