Este tutorial explicará cómo usar la región actual en VBA.
los Región actual La propiedad en VBA es una forma de seleccionar todas las celdas que están contenidas dentro de un Rango con el que es posible que desee trabajar. Siempre que las celdas dentro del rango sean todas consecutivas o "tocándose" entre sí, la Región actual seleccionará todas las celdas de la región.
Sintaxis de CurrentRegion
La sintaxis es muy sencilla:
1 | Rango ("E11"). CurrentRegion.Select |
donde especificaría la celda cuya región actual desea seleccionar y luego usar el CurrentRegion.Select propiedad para seleccionar el rango de celdas.
Obtención de la región actual
Considere la siguiente hoja de trabajo.
el siguiente subprocedimiento seleccionaría todas las celdas dentro de la base de datos
1234567 | Sub FindCurrentRegion ()Atenuar como rango'establece el rango para que sea Cell E11Establecer rng = Rango ("E11")'seleccione la región actualrng.CurrentRegion.SelectEnd Sub |
Si ejecutamos la rutina, todas las celdas del Región actual de la celda E11.
Si eliminamos el contenido de las celdas contiguas y volvemos a ejecutar la rutina, se seleccionará lo siguiente como la región actual.
Sin embargo, si eliminamos aún más datos, podríamos terminar con el siguiente ejemplo para la región actual de la celda E11.
Poniendo el registro de información en D13, terminamos con lo siguiente:
los Región actual por lo tanto devuelve otro distancia objeto definido por la combinación más pequeña de columnas ocupadas y filas que rodean el rango que ha proporcionado.
Contar filas y columnas en la región actual
Nosotros podemos usar Región actual para contar las filas y columnas.
12345678910111213 | Sub FindCurrentRegion ()Atenuar como rangoDim iRw como enteroDim iCol como entero'establecer el rangoEstablecer rng = Rango ("E11")'cuenta las filasiRw = rng.CurrentRegion.Rows.Count'cuenta las columnasiCol = rng.CurrentRegion.Columns.Count'muestra el resultado en un cuadro de mensajeMsgBox ("Tenemos" & iRw & "filas y" & iCol & "columnas en nuestra región actual")End Sub |
Si ejecutamos el procedimiento, aparecerá el siguiente cuadro de mensaje.
Borrar la región actual
También podemos usar la propiedad de la región actual para borrar el rango de celdas.
123456 | Sub ClearCurrentRegion ()Atenuar como rango'establecer el rangoEstablecer rng = Rango ("E11")rng.CurrentRegion.ClearEnd Sub |
Asignar la región actual a una variable
También podemos asignar toda la región actual a una variable de rango, y luego usar esa variable de rango para manipular las celdas, ya sea formateando las celdas, ordenando las celdas, etc.
12345678910 | Sub AssignCurrentRegionToVariable ()Atenuar como rango'establece el rango para que sea la región actual de E11Establecer rng = Rango ("E11"). CurrentRegion'colorear el fondo y el textorng.Interior.Patrtern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Verdaderorng.Font.Color = -16776961End Sub |
Si ejecutamos el procedimiento anterior, ¡terminaremos con una hoja de trabajo como se muestra a continuación!
Obtención de las celdas inicial y final en la región actual
Con un código un poco más complicado, podemos obtener la primera celda y la última celda en una Región actual.
123456789101112131415161718 | Sub GetStartAndEndCells ()Atenuar como rangoDim iRw como enteroDim iCol como enteroDim iColStart, iColEnd, iRwStart, iRwEnd como cadena'establece la variable de rango para que sea la región actual de E11Establecer rng = Rango ("E11"). CurrentRegion'establece la columna de inicio para el rangoiColStart = rng.Column'obtener la columna final para el rangoiColEnd = iColStart + (rng.Columns.Count - 1)'obtener la fila de inicio para el rangoiRwStart = rng.Row'obtén la última fila del rangoiRwEnd = iRwStart + (rng.Rows.Count - 1)'muestra la dirección de las filas y columnas de inicio y finalización en un cuadro de mensajeMsgBox ("El rango comienza en" & Cells (iRwStart, iColStart) .Address & "y termina en" & Cells (iRwEnd, iColEnd) .Address)End Sub |
Cuando ejecutamos el código anterior, aparecerá el siguiente cuadro de mensaje