Rango de cambio de tamaño de Excel VBA

Cambiar el tamaño del rango usando VBA

Este tutorial demostrará cómo utilizar el Cambiar el tamaño de la propiedad de El Objeto de rango para cambiar para devolver un nuevo rango redimensionado del objeto de rango original.

Sintaxis

La sintaxis de la propiedad Resize es:

1 Rango ("A1"). Cambiar tamaño (RowSize, ColumnSize)

Donde Rango ("A1") es su rango inicial.

RowSize y ColumnSize deben ser mayores que cero. Cada entrada es opcional (por ejemplo, puede omitir RowSize para cambiar solo el número de columnas, o viceversa).

Cambiar el tamaño del número de filas y columnas

El siguiente ejemplo expande el rango con una celda A1 al rango A1: D10 aumentando el recuento de filas a 10 y el recuento de columnas a 5.

1 Rango ("A1"). Cambiar tamaño (10, 5) .Seleccionar

O, más comúnmente, asignará el rango redimensionado a una variable:

12 'Cambiar el tamaño del rango al tamaño deseado y asignarlo a una variableEstablecer newRng = ActiveSheet.Range ("A1"). Resize (10, 5)

Cambiar el tamaño del número de filas solamente

El siguiente ejemplo cambia solo el número de filas:

12 'Solo cambie el tamaño de la fila, el nuevo rango será $ A $ 1: $ A $ 10Establecer newRng = rng.Resize (10)

Cambiar el tamaño del número de columnas solamente

El siguiente ejemplo cambia solo el número de columnas:

12 'Cambiar solo el tamaño de la columna, el nuevo rango será $ A $ 1: $ E $ 1Establecer newRng = rng.Resize (, 5)

Cambiar el tamaño del rango de la tabla para excluir el encabezado

Si tiene una tabla en una hoja activa con una fila de encabezado, el código primero seleccionará la tabla completa y luego se moverá hacia abajo una fila para excluir el encabezado usando el método Range.Offset. Luego usará la propiedad Range.Resize para reducir el tamaño en una fila.

1234567891011 Sub SelectTableData ()' **IMPORTANTE**'Haga clic en cualquier celda de la tabla antes de ejecutar la macro'Desplácese hacia abajo una fila usando Offset y luego reduzca el tamaño del rango en una filaEstablezca tbl = ActiveCell.CurrentRegion.Offset (1, 0) .Resize (tbl.Rows.Count - 1, _tbl.Columns.Count)'Los datos se seleccionan excluyendo la fila de encabezadotbl.Address.SelectEnd Sub

Escribir matriz 2-D en rango

Otro uso común es escribir una matriz bidimensional en una hoja. Dado que el rango que se va a escribir debe coincidir con el tamaño de la matriz, que normalmente no se conoce de antemano, el método Resize se utiliza para establecer el rango de salida

El siguiente ejemplo leerá los datos en el rango A1: E10 en la hoja activa en una matriz y escribirá la matriz en la hoja "Salida" a partir de la celda A1:

123456 Sub WriteArray ()'Leer los datos en una matrizdatos = Rango ("A1: E10"). Valor'Cambiar el tamaño del rango de salida y escribir la matrizHojas de trabajo ("Salida"). Rango ("A1"). Redimensionar (UBound (datos, 1), UBound (datos, 2)). Valor = datosEnd Sub

Escrito por: Vinamra Chandra

wave wave wave wave wave