Función final en VBA
End es una declaración en VBA que tiene múltiples formas en aplicaciones VBA, la declaración final simple se puede colocar en cualquier parte del código y detendrá automáticamente la ejecución del código, la declaración final se usa en muchos procedimientos como finalizar el subprocedimiento o finalizar cualquier función de ciclo como End if.
Para todo, hay un final y en VBA no es diferente. Debes haber visto esta palabra " Fin " en todos los códigos de tu VBA. Podemos terminar en “End Sub”, “End Function”, “End If”. Estos son comunes, ya que sabemos que cada final sugiere el final del procedimiento. Estas declaraciones VBA End no requieren ninguna introducción especial porque estamos familiarizados con ellas en nuestra codificación VBA.
Aparte del "Fin" anterior, tenemos una propiedad "Fin" en VBA. En este artículo, lo guiaremos a través de esa propiedad y cómo usarla en nuestra codificación.
Propiedad final en VBA
"Fin" es la propiedad que usamos en VBA para movernos en la dirección sugerida. El ejemplo típico de dirección es moverse de la celda activa a la última celda utilizada o la última celda de entrada horizontal y verticalmente en la hoja de trabajo.
Por ejemplo, recordemos esto con una hoja de trabajo. Mira la imagen de abajo.
Ahora mismo estamos en la celda A1.
Si queremos movernos a la última celda usada horizontalmente usamos la tecla de atajo de Excel Ctrl + Flecha Derecha, nos llevará a la última celda usada horizontalmente.
Del mismo modo, si queremos movernos a la última celda utilizada hacia abajo o verticalmente, presionamos la tecla de atajo Ctrl + Flecha abajo.
Entonces, para movernos de izquierda a derecha presionamos Ctrl + Flecha izquierda, para movernos de abajo hacia arriba presionamos Ctrl + Flecha arriba.
Se puede hacer algo similar en VBA, pero no usando la tecla Ctrl, sino que necesitamos usar la palabra "Fin".
Ejemplos de función final de Excel VBA
Puede descargar esta plantilla VBA End Excel aquí - VBA End Excel TemplateEjemplo n. ° 1: use la propiedad final de VBA para moverse en la hoja de trabajo
Veamos cómo usar Excel VBA End para moverse en la hoja. Primero, necesitamos decidir qué celda debemos mover. Ok, digamos que necesitamos movernos de la celda A1, así que refiera la celda usando el objeto VBA Range.
Código:
Sub End_Example1 () Rango ("A1") End Sub
Ponga un punto (.) Para ver la lista de IntelliSense. Seleccione la propiedad VBA "Fin" de la lista.
Código:
Sub End_Example1 () Rango ("A1"). End End Sub
Una vez seleccionada la propiedad final, abra paréntesis.
Código:
Sub End_Example1 () Rango ("A1"). End (End Sub
Tan pronto como abra el paréntesis, podemos ver todas las opciones disponibles con la propiedad "Fin". Seleccione "xlToRight" para pasar de la celda A1 a la última celda utilizada horizontalmente.
Código:
Sub End_Example1 () Rango ("A1"). End (xlToRight) End Sub
Después de pasar a la última celda, debemos seleccionar lo que debemos hacer. Ponga un punto (.) Para ver la lista de IntelliSense.
Código:
Sub End_Example1 () Rango ("A1"). Fin (xlToRight). End Sub
Elija el método "Seleccionar" de la lista IntelliSense.
Código:
Sub End_Example1 () Range ("A1"). End (xlToRight) .Seleccione End Sub
Esto se utilizará desde la celda A1 hasta la última celda utilizada horizontalmente.
Del mismo modo, use las otras tres opciones para moverse hacia la derecha, izquierda, abajo, arriba.
Mover a la derecha desde la celda A1.
Código:
Sub End_Example1 () Range ("A1"). End (xlToRight) .Seleccione End Sub
Para bajar de la celda A1.
Código:
Sub End_Example1 () Rango ("A1"). Fin (xlDown) .Seleccione End Sub
Para subir desde la celda A5.
Código:
Sub End_Example1 () Range ("A5"). End (xlUp) .Seleccione End Sub
Mover a la izquierda desde la celda D1.
Código:
Sub End_Example1 () Rango ("D1"). Fin (xlToLeft) .Seleccione End Sub
Todos los códigos anteriores son ejemplos de muestra del uso de la propiedad "Fin" para moverse en la hoja de trabajo.
Ahora veremos cómo seleccionar los rangos usando la propiedad "Fin".
Ejemplo n. ° 2: selección mediante la propiedad final
Necesitamos finalizar la propiedad para seleccionar el rango de celdas en la hoja de trabajo. Para este ejemplo, considere los datos siguientes.
Seleccione A1 para la última celda utilizada
Para seleccionar las celdas de A1 a la última celda utilizada horizontalmente, primero mencione la celda A1 en el objeto Range.
Código:
Sub End_Example2 () Rango ("A1", End Sub
Para el segundo argumento, abra un objeto Range más y mencione la celda solo como A1.
Código:
Sub End_Example2 () Rango ("A1", Rango ("A1") End Sub
Cierre solo un corchete y coloque un punto para seleccionar la propiedad Fin de Excel VBA.
Código:
Sub End_Example2 () Rango ("A1", Rango ("A1"). Fin (End Sub
Ahora seleccione xlToRight y cierre dos corchetes.
Código:
Sub End_Example2 () Range ("A1", Range ("A1"). End (xlToRight)) End Sub
Ahora elija el método "Seleccionar".
Código:
Sub End_Example2 () Range ("A1", Range ("A1"). End (xlToRight)). Seleccione End Sub
Ok, hemos terminado.
Ejecute este código para ver el impacto.
Como puede ver, ha seleccionado el rango de A1 a D1.
De manera similar, para seleccionar hacia abajo, use el siguiente código.
Código:
Sub End_Example2() Range("A1", Range("A1").End(xlDown)).Select 'To select from left to right End Sub
Code:
Sub End_Example2() Range("A1", Range("A1").End(xlDown)).Select 'To select from top to down End Sub
Code:
Sub End_Example2() Range("D1", Range("D1").End(xlToLeft)).Select 'To select from right to left End Sub
Code:
Sub End_Example2() Range("A5", Range("A5").End(xlUp)).Select 'To select from bottom to up End Sub
Example #3 – Select Right to Left, Right to Bottom, & Top
We have seen how to select horizontally & vertically. To select both vertically and horizontally we need to use two “End” properties. To select the data from A1 to D5, we need to use the below code.
Code:
Sub End_Example3() Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select 'To from cell A1 to last use cell downwards & rightwards End Sub
This will select the complete range like the below.
Like this, we can use the VBA “End” Function property to select a range of cells.