VBA Cambiar tamaño - ¿Cómo usar Resize Property en Excel VBA? (Con ejemplos)

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 usando 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 (). Redimensionar ((Tamaño de fila), (Tamaño de columna))

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

Luego use la propiedad Excel VBA Resize , y en esta propiedad, necesitamos 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 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.

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.

Primero, necesitamos proporcionar la primera referencia de celda o punto de partida usando 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 Row Size, 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 deben seleccionar las columnas. Ingresaré 3 columnas.

Código:

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

Una vez que se realiza el cambio de tamaño, debemos proporcionar lo que necesitamos hacer con este rango. Solo 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, proporcionamos celdas en blanco y para Tamaño de columna, proporcionamos 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 fila y tres columnas. Esto se debe a que, para Tamaño de fila, proporcionamos celdas en blanco y para Tamaño de columna, proporcionamos 3 y, en consecuencia, seleccionó el rango de datos.

Ahora, mire el siguiente código.

Código:

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

What this code will do is it will select only three rows, including the active cell row but no extra columns.

Example #3

Use Resize To Select Unknown Ranges. Resize is best utilized when you want to select an unknown range of cells. For example, look at the below image of the data range.

It has data all the ways from Column A to Column P and row-wise we have up until the 700th row.

Assume you know your data will keep changing, and you want to select the data range every now and then by manually changing the row and column number. However, by using VBA RESIZE property, we can do this easily.

Look at the below code.

Code:

Sub Resize_Example1() Dim LR As Long Dim LC As Long Worksheets("Sales Data").Select 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

First, I have declared two variables to find the last used row (LR) and the last used column (LC).

Dim LR As Long Dim LC As Long

Since our data is in the worksheet named “Sales Data,” we are choosing this worksheet by using the below code.

Worksheets(“Sales Data”).Select

Now below code will find the last used row and last used column.

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

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

Ahora, desde la primera celda, estamos cambiando el tamaño del rango desde la última fila utilizada hasta la última columna utilizada y seleccionar es el método utilizado. Así que ahora no importa el tamaño de sus datos. Seleccionará dinámicamente los datos encontrando la última fila utilizada y la última columna utilizada.

Cosas para recordar

  • La propiedad de cambio de tamaño en VBA cambiará el tamaño del rango de la celda activa (incluida la celda activa también).
  • Solo necesitamos proporcionar cuántas filas y cuántas columnas cambiar de tamaño desde la celda activa en VBA.
  • No podemos usar un número negativo de fila y columna para la propiedad RESIZE.

Articulos interesantes...