Matriz de salida (impresión) VBA a rango

Este tutorial demostrará cómo generar una matriz en un rango usando VBA.

Matriz de salida (impresión) a rango

Los datos que se almacenan en una matriz se pueden enviar fácilmente a una hoja de Excel. Hay tres formas de hacer esto.

Salida de datos a un rango diferente

Podríamos completar una matriz con datos de un rango en Excel y luego enviar los datos a un rango diferente en Excel.

12345678 Salida de subprueba pública ()'declarar la matrizDim rnArray () como variante'rellenar la matriz con el rangornArray = Rango ("A1: H24")'enviar la matriz a un rango diferente de celdasRango ("J1: Q24") = rnArray ()End Sub

La matriz completa se copia en una línea de código a la matriz y luego se envía en su totalidad a un rango diferente de celdas en la hoja.

Bucle a través de una matriz y salida de datos

Este ejemplo recorrerá una matriz, dando salida a la matriz a un rango.

12345678910111213 Public Sub TestLoopArray ()'declarar la matrizDim rnArray () como variante'Declare el entero para almacenar el número de filasDim iRw como entero'Asignar rango a la variable de matrizrnArray = Rango ("A1: A10")'recorrer los valores en la matrizPara iRw = LBound (rnArray) a UBound (rnArray)'rellenar un rango diferente con los datosCeldas (iRw, 2) .Value = rnArray (iRw, 1)Siguiente iRwEnd Sub

LBoundy UBounddevuelve el índice inicial (límite inferior) y el índice final (límite superior) de una matriz, en este caso 1 y 10.

Transponer datos de matriz

También podemos transponer los datos de la matriz a la hoja de Excel. Transponer le permite mostrar los datos horizontalmente en la hoja de Excel.

Por ejemplo, si tenemos una lista de estados en Excel y deseamos transponerlos.

Entonces podríamos ejecutar el siguiente código:

12345678 Subprueba públicaOutputTranspose ()'declarar la matrizDim rnArray () como variante'poblarlo con el rangornArray = Rango ("A1: A38")'transponer los datosRango (Celdas (1, 3), Celdas (1, 40)). Valor = Aplicación.Transponer (rnArray)End Sub

Lo que resultaría en lo siguiente:

Salida a Debug.Print

También podemos enviar los valores de la matriz a la ventana de depuración.

12345678910111213 Public Sub TestLoopArray ()'declarar la matrizDim rnArray () como variante'Declare el entero para almacenar el número de filasDim iRw como entero'Asignar rango a la variable de matrizrnArray = Rango ("A1: A10")'recorrer las filas - 1 a 10Para iRw = 1 a UBound (rnArray)'salida a la ventana inmediataDebug.Print rnArray (iRw, 1)Siguiente iRwEnd Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave