Si está desarrollando macros de Excel, es posible que se pregunte cómo puede seleccionar una celda en relación con aquella en la que se encuentra. Por ejemplo, si está usando Excel y presiona la tecla Inicio, se selecciona la celda en el lado izquierdo de la fila actual. Desafortunadamente, usar la grabadora de macros para grabar esto no ayuda en esta situación, ya que registra el destino de la acción, en lugar de su acción real. Por ejemplo, si presiona Inicio y se encuentra en la cuarta fila de una hoja de trabajo, Excel no registra la acción Inicio, sino que registra el destino, de la siguiente manera:

Range("A4").Select

Esto es genial si siempre quieres ir a la celda A4, pero terrible si quieres ir a la primera celda de cualquier fila en la que te encuentres.

Al igual que con muchas tareas en VBA, hay varias formas de abordar una solución a este dilema. El primer método es en realidad una variación de lo que devuelve la grabadora de macros, como se muestra arriba. Todo lo que necesita hacer es cambiar el designador de fila para que represente la fila actual, como se muestra a continuación:

Range("A" & (ActiveCell.Row)).Select

VBA averigua cuál es la fila actual, la junta con la «A»

designador y genera una referencia de celda que funciona con el método Range.

Otra técnica que puede utilizar es poner en funcionamiento la propiedad Cells, de la siguiente manera:

Cells(Application.ActiveCell.Row, 1).Select

Este enfoque, por supuesto, se puede modificar para que realmente seleccione cualquier celda dada en la fila actual. Todo lo que necesita hacer es cambiar la designación de la columna (1, en el ejemplo anterior) a un número que represente la columna deseada.

Otro enfoque (que produce el mismo resultado) es utilizar el objeto Range junto con la propiedad Cells, como se muestra aquí:

Range(Cells(Selection.Row, 1).Address).Select

Selection.Row da el número de fila de la selección actual. La propiedad Address del método Cells devuelve la dirección de una celda en particular en formato A $ 1 $. Esta dirección luego se usa como parámetro para el objeto Rango, y la celda real es seleccionada por el método Seleccionar.

_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 (11440) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Selecting_a_Cell_in_the_Current_Row [Seleccionar una celda en la fila actual].