Selecciones relativas de VBA (Microsoft Excel)
Es algo común tener que seleccionar celdas en una macro. Sin embargo, ¿qué sucede si desea seleccionar un rango de celdas en relación con su ubicación actual? Sucede que hay varias formas de realizar esta tarea. Por ejemplo, si desea seleccionar una sola celda, en relación con su ubicación actual, puede utilizar el método de compensación. Como ejemplo, si desea seleccionar la celda que está dos filas hacia abajo y una columna a la derecha de su ubicación actual, puede usar lo siguiente:
ActiveCell.Offset(2, 1).Select
Si desea seleccionar un rango más grande que una sola celda, puede combinar el método de compensación con el método de dirección para encontrar direcciones de celda reales y luego usar sus hallazgos para seleccionar el rango en sí. Por ejemplo, es posible que desee seleccionar el rango que comienza dos filas hacia abajo y una columna a la derecha, pero luego se extiende por cuatro filas y tres columnas. Puede lograr esto de la siguiente manera:
StartCell = ActiveCell.Offset(2, 1).Address EndCell = ActiveCell.Offset(5, 3).Address Range(StartCell, EndCell).Select
Un método alternativo para realizar la misma tarea es utilizar el método Resize. En esta técnica, primero seleccionaría la celda superior derecha del rango deseado (como se hizo en el primer uso de Desplazamiento, arriba), y luego usaría Cambiar tamaño para cambiar el tamaño de la selección. Así es como se hace:
ActiveCell.Offset(2, 1).Select Selection.Resize(4, 3).Select
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (2298) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posteriores) aquí:
enlace: / excelribbon-Relative_VBA_Selections [Selecciones relativas de VBA]
.