Converter matriz em vetor - exemplos de código VBA

Converter matriz em vetor

Este é o tutorial oposto do tutorial Convertendo um Vetor de Linha Única em Matriz.

A função a seguir pegará um intervalo como uma matriz e o converterá em um vetor de coluna única:

Opção Explícita Função 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.Count ReDim Temp_Array_de_fundo) (No_Of_Rows = Matrix_Range.Rows.Count ReDim Temp_Array) 'Elimine condições NULL se Matrix_Range for Nothing Then Exit Function If No_of_Cols = 0 Then Exit Function If No_Of_Rows = 0 Then Exit Function For j = 1 To No_Of_Rows For i = 0 To No_of_Cols - 1 Temp_Array ((i * No_Of_Rows) + j) = Matrix_Range.Cells (j, i + 1) Next i Next j Create_Vector = Temp_Array Função final

Por exemplo, o vetor:

Se tornará:

Onde usamos a seguinte sub-rotina para imprimir o vetor:

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 "). Offset (k, 1) .Value = Vector (k) Next k End Sub

Observe que essas rotinas funcionam tanto com números quanto com texto.

Para baixar o arquivo .XLSM deste tutorial, clique aqui.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave