Cambiar tamaño de VBA

Cambiar el tamaño de Excel VBA

Cambiar el tamaño es una propiedad disponible en VBA para cambiar o cambiar el tamaño del rango de celdas de la celda activa según sea necesario. Por ejemplo, suponga que está en la celda B5, y desde esta celda, si desea seleccionar 3 filas y dos columnas, podemos cambiar el tamaño de un rango utilizando la propiedad RESIZE de VBA.

Sintaxis de la propiedad de cambio de tamaño de VBA

A continuación se muestra la sintaxis de la propiedad RESIZE de VBA.

Rango (). Cambiar tamaño ([Tamaño de fila], [Tamaño de columna])

Primero, necesitamos proporcionar desde qué celda necesitamos cambiar el tamaño usando el objeto Range .

Luego use la propiedad Excel VBA Resize y, en esta propiedad, debemos proporcionar el límite de tamaño de fila y el límite de tamaño de columna . Según los números de fila y de columna proporcionados, cambiará su tamaño.

Ejemplos de uso de Resize en VBA

A continuación se muestran los ejemplos de cómo usar el cambio de tamaño en Excel VBA.

Puede descargar esta plantilla de Excel para cambiar el tamaño de VBA aquí - Plantilla de Excel para cambiar el tamaño de VBA

Ejemplo 1

Suponga que tiene datos de la celda A1 a B14 y de la celda A1 si desea seleccionar 3 filas hacia abajo y dos columnas a la izquierda del rango, podemos hacer esto usando la propiedad RESIZE en Excel VBA.

A continuación se muestran los datos que estamos usando para este ejemplo.

Entonces, primero, debemos proporcionar la primera referencia de celda o el punto de partida utilizando el objeto RANGE, en este ejemplo, el punto de partida es la celda A1.

Código:

Sub Resize_Example () Rango ("A1"). End Sub

Para este rango, use la propiedad RESIZE.

Código:

 Sub Resize_Example () Range ("A1"). Resize (End Sub 

El primer argumento de RESIZE es Tamaño de fila, por lo que debemos seleccionar 3 filas de datos y proporcionar el valor numérico de 3.

Código:

 Sub Resize_Example () Range ("A1"). Resize (3, End Sub 

El siguiente argumento es Tamaño de columna para esto ingrese cómo las columnas necesita seleccionar, ingresaré 3 columnas.

Código:

 Sub Resize_Example () Rango ("A1"). Resize (3,3) End Sub 

Una vez realizado el cambio de tamaño, debemos proporcionar lo que necesitamos hacer con este rango. Simplemente elegiré el método "Seleccionar" para comenzar.

Código:

 Sub Resize_Example () Range ("A1"). Resize (3, 3) .Select End Sub 

Ejecute el código y vea cuántas filas y cuántas columnas seleccionaría.

Como puede ver arriba en la celda A1, ha seleccionado tres filas hacia abajo y tres columnas hacia la derecha.

Ejemplo # 2

Ahora eche un vistazo al siguiente código VBA.

En el código anterior para Tamaño de fila, hemos proporcionado una celda en blanco  y para Tamaño de columna, hemos proporcionado 3.

Código:

 Sub Resize_Example () Range ("A1"). Resize (0, 3) .Select End Sub 

Ejecute el código y vea cuántas filas y cuántas columnas seleccionaría.

Como puede ver, ha seleccionado solo la fila de celda activa, es decir, la primera fila y tres columnas. Esto se debe a que para Tamaño de fila hemos proporcionado una celda en blanco  y para Tamaño de columna, hemos proporcionado 3 y, en consecuencia, ha seleccionado el rango de datos.

Ahora, mire el siguiente código.

Código:

 Sub Resize_Example () Range ("A1"). Resize (3) .Select End Sub 

Lo que hará este código es que seleccionará solo tres filas, incluida la fila de la celda activa, pero sin columnas adicionales.

Ejemplo # 3

Utilice Cambiar tamaño para seleccionar rangos desconocidos. El cambio de tamaño se utiliza mejor cuando desea seleccionar un rango de celdas desconocido. Por ejemplo, mire la siguiente imagen del rango de datos.

Tiene datos de todas las formas, desde la Columna A hasta la Columna P y, por filas, tenemos hasta la fila 700.

Suponga que sabe que sus datos seguirán cambiando y desea seleccionar el rango de datos de vez en cuando cambiando manualmente el número de fila y columna. Sin embargo, al usar la propiedad VBA RESIZE podemos hacer esto fácilmente.

Mira el siguiente código.

Código:

 Sub Resize_Example1 () Dim LR As Long Dim LC As Long Worksheets ("Datos de ventas"). Seleccione LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Cells (1, 1) .Resize (LR, LC) .Select End Sub 

Primero, he declarado dos variables para encontrar la última fila utilizada (LR) y la última columna utilizada (LC).

 Dim LR tan largo Dim LC tan largo 

Dado que nuestros datos están en la hoja de trabajo llamada "Datos de ventas", estamos eligiendo esta hoja de trabajo usando el código a continuación.

Hojas de trabajo ("Datos de ventas"). Seleccione

Ahora, debajo del código, encontrará la última fila utilizada y la última columna utilizada.

LR = Celdas (Rows.Count, 1) .End (xlUp) .Row

LC = Celdas (1, Columns.Count) .End (xlToLeft) .Column

Now from the first cell, we resizing the range from last used row to last used column and select is the method used. So now it doesn’t matter how big your data is it will dynamically select the data by finding the last used row and last used column.

Things to Remember

  • Resize property in VBA will change the size of the range from the active cell (including the active cell as well).
  • We just need to provide how many rows and how many columns to be resized from the active cell in VBA.
  • We cannot use negative row & column number for RESIZE property.