Hola:
Tengo la columna C de una Hoja Excel rellenada con Apellidos.
El siguiente codigo incluido en una macro, me "busca" la cadena que escribo con el InputBox.
Por ejemplo "Zabala"
Nombre = Application.InputBox("Escribe el apellido a buscar")
Columns("C:C").Select
Selection.Find(What:=cNombre).Activate
La funcion Find encuentra la cadena "Zabala" solicitada pero la encuentra no solo si esta al comienzo del apellido, sino tambien si está "conenida" en el mismo, como en este caso puede ser, "Aguirrezabala".
Quisiera saber si se puede modificar algo, para conseguir que solo busque en los comienzos de los apellidos... no "contenido" en los apellidos...
Saludos cordiales.
José Luis
Puedes buscar el inicio de la cadena, en vez de cualquier parte con las siguientes opciones:
busca Zabala*, el asterisco representa cualquier número de caracteres a continuación de Zabala
Coincidir con el contenido de toda la celda, así buscará celdas que contengan Zabala*,
cumplirán Zabala, también Zabala Pérez, pero Aguirrezabala no cumple, porque tiene algo delante de Zabala.
y con una macro, esta opción de coincidir todo el contenido de la celda lo controla el argumento LookAt
Así que podrías modificar tu código con algo como esto:
Selection.Find(What:=cNombre & "*", LookAt:=xlWhole).Activate
------
Ya sé Excel, pero necesito más.
Gracias Paco... por la explicacion (genial) y por la modificacion puntual en la macro.
Como te dije en otra ocasion: da gusto tener dudas... por la satisfaccion de encontrar estas ayudas...
Saludos cordiales
José Luis