Número de fila y de columna de celda activa

En esta ocasión vamos a ver cómo identificar el número de la columna y de Fila en la que se encuentra la celda activa; una vez identificada solo debemos guardar este valor en unas variables tal y como vimos en las entregas pasadas y presentarlo en un cuadro de texto.

Columna y fila.

Las hojas de cálculo en Excel están estructuradas o divididas por columnas y filas, lo que permite identificar la ubicación de una celda dentro de una hoja de cálculo.

Cada celda está ubicada en la intersección de una columna con una fila, lo que es válido para cualquier celda, incluso la celda activa.

Por ejemplo, la celda B9 significa que está en la columna B y la fila 9, donde las dos se interceptan o se cruzan.

Obtener fila y columna de una celda Excel Vba.

Abrimos el editor de Visual Basic (Alt + F11) y damos doble clic sobre la Hoja1 en el explorador de proyectos para activar el espacio de edición de macros en el editor:

Nos vamos a ubicar en el espacio de edición de macros y copiamos el siguiente código:

Sub IdentificarNumerodeFilayColumnadeCeldaActiva()

'Esta macro identifica el número de Columna de la celda activa, lo guarda en una variable y lo presenta en un cuadro de texto

Dim NroFila As Integer

Dim NroColumna As Integer

NroFila = ActiveCell.Row

NroColumna = ActiveCell.Column

MsgBox "La celda activa se encuentra en: " & vbCrLf & " - Fila " & NroFila & vbCrLf & " - Columna " & NroColumna

End Sub

Veamos la interpretación de cada línea.

  1. La primera línea Sub IdentificarNumerodeFilayColumnadeCeldaActiva (), indica el inicio y nombre de la macro IdentificarNumerodeFilayColumnadeCeldaActiva.
  2. La segunda línea que iniciar con una coma sencilla es un comentario informativo para identificar más fácil lo que realizará la macro y en el Editor VB se marcará en color verde toda la línea.
  3. La tercera línea es la tipificación de la variable NroFila en la cual vamos a guardar el número de la Fila de la celda activa y por tanto definimos esta variable como Integer pues vamos a guardar en ella un número entero.
  4. La cuarta línea es la tipificación de la variable NroColumna en la cual vamos a guardar el número de la columna de la celda activa y por tanto definimos esta variable como Integer pues vamos a guardar en ella un número entero.
  5. La quinta línea es donde guardamos en la variable NroFila el número de la fila de la celda activa (Row).
  6. La sexta línea es donde guardamos en la variable NroColumna el número de la columna de la celda activa (Column)
  7. La séptima línea es donde indicamos mediante un cuadro de mensaje, la fila y la columna en la que se encuentra la celda activa
  8. La última línea marca el fin (End) de la Macro o Subrutina (Sub)

Si queremos ejecutar la macro desde el Editor de Visual Basic, es necesario que el cursor este ubicado en cualquiera de las líneas de la macro y luego damos F5. La otra alternativa es vincular la macro a una autoforma en la hoja de Excel. En cualquier de los dos casos, el resultado de la macro es el siguiente:

Descargar archivo de trabajo.

Identificar número de Fila de la celda activa.

Para potenciar un poco más los últimos ejemplos de macros que hemos visto donde resaltamos filas, columnas y celdas, es necesario conocer el uso de otro código que por sí solo no tiene mucho valor, pero al combinarlo con otros códigos veremos que será de mucha utilidad. Se trata de identificar cual es el número de la fila de la celda que tengamos activa y una vez identificada solo debemos guardar este valor en una variable tal y como vimos en la entrega anterior del uso de variables

Abrimos el editor de Visual Basic (Alt + F11) y damos doble clic sobre la Hoja1 en el explorador de proyectos para activar el espacio de edición de macros en el editor:

Nos vamos a ubicar en el espacio de edición de macros y copiamos el siguiente código:

Sub IdentificarNumerodeFiladeCeldaActiva()

'Esta macro selecciona identifica el número de fila de la celda activa, lo guarda en una variable y lo presenta en un cuadro de texto

Dim NroFila As Integer

NroFila = ActiveCell.Row

MsgBox "La celda activa se encuentra en la fila número: " & NroFila

End Sub

Interpretación de la macro.

  1. La primera línea Sub IdentificarNumerodeFiladeCeldaActiva (), indica el inicio y nombre de la macro IdentificarNumerodeFiladeCeldaActiva.
  2. La segunda línea que iniciar con una coma sencilla es un comentario informativo para identificar más fácil lo que realizará la macro y en el Editor VB se marcará en color verde toda la línea.
  3. La tercera línea es la tipificación de la variable NroFila en la cual vamos a guardar el número de la fila de la celda activa y por tanto definimos esta variable como Integer pues vamos a guardar en ella un número entero.
  4. La cuarta línea es donde guardamos en la variable NroFila el número de la fila de la celda activa (Row)
  5. La quinta línea es donde indicamos mediante un cuadro de mensaje, la fila en la que se encuentra la celda activa
  6. La última línea marca el fin (End) de la Macro o Subrutina (Sub)

Si queremos ejecutar la macro desde el Editor de Visual Basic, es necesario que el cursor este ubicado en cualquiera de las líneas de la macro y luego damos F5. La otra alternativa es vincular la macro a una autoforma en la hoja de Excel. En cualquier de los dos casos, el resultado de la macro es el siguiente:

Descargar archivo de trabajo.

Recomendados.

Compártalo en Facebook Compártalo en Twitter
Deje su opinión o su pregunta.

Regístrese para informarle cuando se responda su pregunta.

  1. Tomy (junio 19 de 2023)

    hola necesito pero la letra de la columna para usarlo en una range

    Responder
    • JuniorGustabo en respuesta a Tomy (diciembre 7 de 2023)

      Puedes probar con esto:

      Sub LetraColumnaCeldaActiva()
      Dim numeroFila As Integer
      Dim numeroColumna As Integer

      numeroFila = ActiveCell.Row
      numeroColumna = ActiveCell.Column

      Dim valorCeldaActiva As Variant
      valorCeldaActiva = Cells(numeroFila, numeroColumna)

      MsgBox “Letra de columna es: ” & Split(Cells(numeroFila, numeroColumna).Address, “$”)(1) & vbNewLine & “Numero de fila es: ” & numeroFila & vbNewLine & “Valor de celda es: ” & valorCeldaActiva
      End Sub

      Responder

Este sitio web utiliza cookies propias y de terceros para ofrecer un mejor servicio. Al seguir navegando acepta su uso.