Useform para buscar datos en hoja excel

Hola,
Quisiera hacer un useform en el que pondría un commandbutton para realizar una búasqueda de clientes que estarían introducidos en una hoja1 del libro. Una vez hallado el cliente, con otro commandbutton, porcedería a insertar este nombre en una celda determinada de la hoja2 del libro. Además, en la hoja dos del libro se da la posibilidad de introducir varios clientes buscados con el userform y insertados en filas de la hoja2. Es decir, a través de la búsqueda de clientes con el userform (según datos en hoja1), insertaría el resultado en hoja dos en posiciones f3(primer cliente buscado e insertado), f4 (segundo cliente buscado e insertado), f5,... Y así con tantos cliente me interesara introducir..
He estado leyendo ejemplos pero estoy muy pez y tampoco acaban de adaptarse a lo que quiero. El objetivo es que el usuario indique el nombre exacto del cliente tal y como figura en hoja1 y no deje de poner los punto de S.A. O no ponga espacio entre "empresa, SA", por ejemplo. He de tratar los datos según el cliente y si el usuario no me lo pone literal, me dificulta enormemente el trabajo. Estoy tratando con más de 5000 cliente y más de 30 personas introduciendo estos datos.
Creo que se puede solucionar con un userform con búsqueda er no se como hacerlo.
La lista de evalidación queda descartada por el número de clientes ya que no dispone de scroll cómodo ni te permite poner las primera letras para facilitar la búsqueda.
Gracias y saludos
1

1 Respuesta

2.186.290 pts. En mi sitio encontraran material de ayuda, ejemplos...
En mi página de descargas encontrarás un ejemplo denominado Interactuando con Userforms.
Ese ejemplo te solucionará el tema de la búsqueda exacta, ya que podes cargar un combo con los datos de la hoja1 para que el usuario lo seleccione en lugar de tipearlos.
TAmbién encontrarás la rutina de búsqueda. Luego tendrás que ajustar la rutina del botón Aceptar para que te vuelque en otra hoja el resultado obtenido.
Un ej:
fin2 = sheets("Hoja2"). Range("F65536").end(xlup). Row + 1 'para guardar la primer fila libre
sheets("Hoja2"). Cells(fin2, 6) = midato 'guarda el dato encontrado en col F
sheets("Hoja2").cells(fin2,7) = midato. Offset(0,1) 'guarda la col sgte en col G
Saludos. Si con esto resolviste la consulta no olvides finalizarla.
Gracias, elsa.
Necesito tiempo para digerir lo que propones. De todas formas, he navegado un poco por tu web y me parece pero que muy intyeresante e imprescindible paraaclarar conceptos.
Gracias
Tomate el tiempo para armarlo.
Si luego necesitas ayuda para ajustar algún detalle, escribime nuevamente. Pero si todo quedó resuelto no olvides volver aquí y finalizar la consulta.
También te invito a descargar las demos de los manuales, encontrarás un tema desarrollado en cada capítulo que podrá ser de ayuda.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas