VBA XLUP - ¿Cómo usar VBA XLUP en Excel? (con ejemplos)

Tabla de contenido

Excel VBA XLUP

Una cosa que debe tener en cuenta al escribir código VBA es lo que hace con la hoja de trabajo normal, y también puede replicar lo mismo en VBA. Una de esas palabras clave en la codificación VBA es "XLUP" en este artículo. Le mostraremos qué es esta palabra clave en la codificación VBA y cómo usarla en la codificación.

¿Cómo utilizar VBA XLUP en la codificación?

Los siguientes son ejemplos de Excel VBA XLUP.

Ejemplo n. ° 1: mover celdas a la posición eliminada de las celdas

Por ejemplo, mire el escenario de los datos a continuación, donde necesita eliminar los datos de las celdas coloreadas y más los datos de las filas de abajo a los datos de arriba.

Una forma de eliminar esto en la hoja de trabajo es seleccionar aquellas celdas en las que simplemente podemos eliminar toda la fila. Pero aquí, las situaciones son un poco complicadas porque tengo celdas coloreadas en la Tabla 1 cuando eliminamos toda la fila, incluso las filas de la Tabla 2 también se eliminan, pero no queremos que esto suceda; en su lugar, solo necesitamos eliminar las filas coloreadas y las celdas debajo deberían subir la posición de las celdas eliminadas.

Primero, seleccione las celdas coloreadas y presione Ctrl + Símbolo menos (-) para abrir la opción "Eliminar".

Tecla de acceso directo para abrir la opción "Eliminar"

En la ventana de opciones de "eliminar", tenemos cuatro opciones. Podemos elegir la acción según nuestro requisito. Como necesitamos mover nuestras celdas hacia arriba para la posición de esas celdas eliminadas, elija "Shift Cell Up".

Tendremos filas de la Tabla 2 sin cambios.

Esta acción en VBA requiere el uso de la propiedad "XLUP" para realizar un conjunto similar de acciones en VBA. Ahora vaya a la ventana del editor de VBA e inicie el nombre de su macro.

Código:

Sub XLUP_Example () End Sub

Primero, proporcione el RANGO de celda que se incluirá en esta operación. En esta acción, las primeras celdas que se eliminarán y subirán son las celdas “A5: B5”.

Código:

Sub XLUP_Example () Rango ("A5: B5") End Sub

Para este rango de celdas, seleccione el método "Eliminar".

Código:

Sub XLUP_Example () Range ("A5: B5"). Eliminar End Sub

Como puede ver para el método "Delete", tenemos un argumento opcional como (Shift). Para este argumento, debemos ingresar el argumento como "XLUP".

Código:

Sub XLUP_Example () Range ("A5: B5"). Eliminar turno: = xlUp End Sub


Ahora puede ejecutar este código manualmente o mediante la tecla de acceso directo de Excel F5 para ver el resultado.

Como puede ver en la Tabla 1, hemos movido la fila número 6 a la fila y, por otro lado, la Tabla, la fila 2 (coloreada) no se modifica, por lo que al usar la opción "VBA XLUP", podemos hacer esta operación .

Ejemplo n. ° 2: buscar la última fila utilizada mediante XLUP

Imagine una situación en la que se encuentra en la celda A20th (mire la imagen de abajo) y su última celda utilizada es A14.

Ahora, si desea elegir la última celda utilizada (A14), ¿cómo lo hará usando una tecla de acceso directo?

Usaríamos Ctrl + Flecha arriba para movernos a la última celda utilizada desde la posición actual.

Tecla de acceso directo para pasar a la última celda utilizada

Entonces, desde la celda actual, Ctrl + Flecha arriba seleccionó la última celda utilizada. De manera similar, en la codificación VBA, usamos END (XLUP) para realizar lo mismo.

Ahora regrese a la ventana de codificación de VBA.

In this window, we will perform the task of finding the last used row in the worksheet. Create a new subprocedure in the VBA window.

Code:

Sub XLUP_Example1() End Sub

To store the last used row number. define the variable as the VBA LONG data type.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long End Sub


Now for this variable, we will assign the last used row number.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = End Sub

Now use the RANGE object and open this object.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = Range( End Sub

Now mention the active cell (A20) for RANGE object.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20") End Sub

Now open END property for supplied range cell.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End( End Sub

As you can see above, we have to arrow key options like “xlDown,” “xlToLeft,” “xlToRight,” “xlUp.” Since we are moving up from the A14 cell, choose the “VBA XLUP” option.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp) End Sub


After moving up from A14 cell, we need to mention what we need to do since we need the last used row number, I will use ROW property.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row End Sub

Now for the message box, assign the value of variable “Last_Row_Number.”

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row MsgBox Last_Row_Number End Sub


Now you can run this code manually or through shortcut key F5 to see the result.

So message box showing the last used row number as 14, so our last data used row number is A14 cell.

In this case, since the data is very small, we started the room cell, but when the data is large, we cannot say which cell to take into consideration first. In such cases, we need to employ a different technique.

We need to use CELLS property. Below is an example of the same.

Code:

Sub XLUP_Example2() Dim Last_Row_Number As Long Last_Row_Number = Cells(Rows.Count, 1).End(xlUp).Row MsgBox Last_Row_Number End Sub

Now you can run this code manually or through shortcut key F5 to see the result.

En lugar de un objeto RANGE, he usado la propiedad CELLS. Déjame explicarte esto en detalle.

ROW.COUNT esto contará cuántas filas hay en la columna 1. Lo que hará es tomar en consideración la última celda de la hoja de trabajo en lugar de la dirección de celda aleatoria. En el caso anterior, hemos utilizado A14 como la dirección de celda aleatoria.

Cosas para recordar sobre VBA XLUP

  • XLUP es la palabra utilizada en el código VBA para replicar la acción de la tecla "Flecha arriba" en Excel.
  • VBA XLUP se utiliza para pasar de las celdas activas a la celda anterior o la última celda utilizada.
  • XLUP se usa generalmente junto con la propiedad END en VBA.

Articulos interesantes...