Vamos a ver cómo buscar una columna por su nombre y, a continuación, saber cual es su última fila con datos. Es un paso más de lo tratado en la Lección 15: Buscar un valor en una columna Excel (Find) que me habéis pedido en los comentarios.
He creado una tabla con un encabezado formado por profesiones comunes y una serie de datos como la de la figura,
El funcionamiento es muy simple. Rellenamos el campo "Profesión" y pulsamos el botón para que, automáticamente, el programa nos indique la columna correspondiente, junto con la última fila que dispone de datos.
Os comparto el código que se esconde detrás del botón,
Sub Buscar()
'Si está vacío el campo Profesión, mostramos mensaje de error y salimos de la macro
If IsEmpty(Cells(3, "B")) Then
MsgBox "Es necesario rellenar la profesión"
Exit Sub
End If
'Guardamos la profesion introducida en B3 en la variable profesion
profesion = Cells(3, "B").Value
'Buscamos la profesion en la sexta fila
Set dato = Range("A6:AA6").Find(profesion, LookIn:=xlValues, LookAt:=xlWhole)
'Si no se ha encontrado en la lista, mostramos aviso
If dato Is Nothing Then
MsgBox "Profesión no contemplada en la lista"
Else
'En caso contrario, guardamos el valor de la columna y buscamos la última fila con datos de esa columna
columna = dato.Column
fila = Cells(Rows.Count, columna).End(xlUp).Offset(0, 0).Row
'La seleccionamos para visualizarla mejor
Cells(fila, columna).Select
'Finalmente, mostramos en una ventana de texto el valor de la fila y columna
MsgBox "Columna: " & columna & " Fila: " & fila
End If
End Sub
Si, por ejemplo, elegimos la profesión "Fontanero",
Nos indica que su columna es la número 5 y que la última fila con datos es la 10.
Para el caso de la profesión "Peluquero",
Su columna es la número 8 y la última fila con datos la 13.
Espero que te sirva este ejemplo para buscar una columna por su nombre y saber su última fila con datos. Descarga el archivo de ejemplo y practica.
Por último, invitarte a compartir tus dudas en los comentarios o en el foro, y a darle clic a la publicidad de abajo para ayudarme a seguir creando contenido.
Hasta la próxima.
0 comentarios