Saída VBA (impressão) matriz para intervalo

Este tutorial demonstrará como gerar uma matriz para um intervalo usando o VBA.

Saída (impressão) de matriz para intervalo

Os dados armazenados em uma matriz podem ser facilmente enviados para uma planilha do Excel. Existem 3 maneiras de fazer isso.

Dados de saída para um intervalo diferente

Poderíamos preencher uma matriz com dados de um intervalo no Excel e, em seguida, enviar os dados para um intervalo diferente no Excel.

12345678 Public Sub TestOutput ()'declara o arrayDim rnArray () como variante'preencher a matriz com o intervalornArray = Range ("A1: H24")'envia a matriz para um intervalo diferente de célulasIntervalo ("J1: Q24") = rnArray ()End Sub

A matriz inteira é copiada em uma linha de código para a matriz e, em seguida, enviada em sua totalidade para um intervalo diferente de células na planilha.

Loop por meio de uma matriz e saída dos dados

Este exemplo fará um loop em uma matriz, gerando a saída da matriz em um intervalo.

12345678910111213 Public Sub TestLoopArray ()'declara o arrayDim rnArray () como variante'Declara o inteiro para armazenar o número de linhasDim iRw As Integer'Atribuir intervalo a uma variável de matrizrnArray = Range ("A1: A10")'percorre os valores na matrizPara iRw = LBound (rnArray) para UBound (rnArray)'preencher um intervalo diferente com os dadosCélulas (iRw, 2) .Value = rnArray (iRw, 1)Next iRwEnd Sub

LBounde UBoundretorna o índice inicial (limite inferior) e o índice final (limite superior) de uma matriz, neste caso 1 e 10.

Transpor dados de matriz

Também podemos transpor os dados do Array para a planilha do Excel. Transpor permite que você exiba os dados horizontalmente na planilha do Excel.

Por exemplo, se tivermos uma lista de estados no Excel e desejarmos transpô-los.

Poderíamos então executar o seguinte código:

12345678 Public Sub TestOutputTranspose ()'declara o arrayDim rnArray () como variante'preenchê-lo com o intervalornArray = Range ("A1: A38")'transpor os dadosIntervalo (Células (1, 3), Células (1, 40)). Valor = Application.Transpose (rnArray)End Sub

O que resultaria no seguinte:

Saída para Debug.Print

Também podemos enviar os valores da matriz para a janela de depuração.

12345678910111213 Public Sub TestLoopArray ()'declara o arrayDim rnArray () como variante'Declara o inteiro para armazenar o número de linhasDim iRw As Integer'Atribuir intervalo a uma variável de matrizrnArray = Range ("A1: A10")'loop pelas linhas - 1 a 10Para iRw = 1 para UBound (rnArray)'saída para a janela imediataDebug.Print rnArray (iRw, 1)Next iRwEnd Sub

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

wave wave wave wave wave