Código Userfom que busque datos muestre

Me podrías ayudar con un código para el userform, lo que necesito es que al colocar en un textbox del userform me busque en un libro (libro, hojas)de excel un determinado numero que se encuentra en la celda(range b5) y si lo encuentra me inserte los datos que están la misma columna en el userform y si no me envíe un mensaje indicando no existe e estado buscando en internet pero no encuentro ninguno y lo necesito para el viernes.

1 Respuesta

Respuesta
1
Vamos a ver, entiendo que tu tienes un Libro de Excel donde has creado un Userform en VBA y en este Userform tienes un Textbox, en este Textbox pones un dato, (hasta aquí todo claro) lo que no entiendo es que si encuentra el valor de B5 (donde lo tiene que buscar en todas las hojas del Libro, en la hoja activa, en alguna columna o fila...) y otra cosa si te encuentra el valor (que se supone que habrás escrito en el Textbox, entiendo) te lo ponga en el userform(en que parte si son 5 filas donde lo escribe en otros 5 Textbox diferentes)
En fin tienes que aclaraar bien la pregunta, así no es posible ayudarte.
>Un saludo
>Julio
Hola experto
Gracias por tu pronta respuesta y disculpa por no haberme expresado bien, tu tienes razón. Te explico tengo un userform en vba de excel i este userform tiene 7 textbox y 2 combox lo que necesito es que al poner un numero en el textbox1 me busque en la columnas (B5) de todas las hojas del libro (es ay donde empiesa los datos en las hojas) y si me encuentra el valor me cargue a los otros textbox y combox las filas que corresponde a esa información al userform, por ejemplo el textbox1(b5), textbox2(c5), textbox3(d5), textbox4(e5) y así con los otros textbox y combox y que se pongan en el userform y si no encuentra me salga un mensaje indicando que no existe y se limpien los textbox.
Espero que me hayas entendido porque esto tengo que hacerlo en una base datos que me pidieron en el trabajo.
Saludos y gracias
Luis
La verdad es que esta alusión al trabajo me la he encontrado en multitud de ocasiones, y lo que no logro entender es que si no sois profesionales en Excel como es posible que os exijan tanto, pero en fin aquí estamos para ayudaros en lo que podamos.
Tengo una duda en lo que dices, de que busque en B5 que es ahí donde empiezan los datos en las hojas, que quieres decir con esto que no solo tengo que comprobar la celda B5 de todas las hojas, sino que hay que empezar en B5 y seguir bajando filas B6, B7... hasta donde tenemos que bajar, y esto hay que hacerlo en todas las hojas. Y si el dato a buscar esta en diferentes hojas repetidos que hacemos.
Si lo encuentro en la hoja 2 por ejemplo tomo los datos de C5 D5 y E5 ( o son más hasta cuantos) y donde los llevo se supone que el TextBox1 es donde introduces el dato a buscar en ese Textbox no hay que llevar ningún dato.
Aclarame esto por favor que sin tener toda la información es imposible trabajar.
>Un saludo
>Julio
Hola experto
Disculpa por no expricarte también sobre lo que yo quiero, pero mi pregunta es tengo un userform que tiene 7 texbox y 2 combox lo que necesito es que al colocar en el textbox1 un numero me busque en todas las hojas del libro y si lo encuentra te se cargen los demás textbox y ComboBox1 con los datos de esa columna los datos de las hojas en piesan en celda b5.
Yo solo uso este código que encontré aquí en la página pero para buscar en solo una hoja y lo que necesito la conexión para buscar en todo el libro.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error GoTo ConError
Sheets("REGISTROS").Range("B6").Select
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
Exit Sub
ConError:
MsgBox ("No existe este registro")
Exit Sub
End Sub
Espero que esta vez me hayas comprendido
PD:Soy novato en excel y vb pero me gusta aprender de los EXPERTOS
Gracias y saludos
Si no son muchas páginas 3 o 4 puedes repetir el código cambiando el nombre a la hoja, pero si tienes muchas hojas es mejor poner un cciclo que vaya recorriendo todas las hojas y realice la misma operación en todas, pero ya te advertí que si encuentra el valor repetido en alguna hoja en los textbox solo te pondrá los valores del ultimo valor encontrado, si el valor a buscar es 2 y está en la hoja 2 te pondrá todos los valores que necesitas en los textbox, pero la macro no se parará seguirá recorriendo las hojas (salvo que la saquemos del ciclo) y si vuelve a encontrar el valor 2 en la hoja 5 te pondrá en los texbox los valores de la hoja 5 quitándote los valores que tenía puestos de la hoja 2 y nunca sabrás si el valor estaba en la hoja 2.En fin aquí te dejo el código para que la macro recorra todas tus hojas:
Dim contador As Integer
For contador = 1 To Sheets.Count
Hojanueva = Sheets(contador).Name
Sheets(Hojanueva).Select
Aquí tu codigo de lo que quieres que haga si encuentra el valor en la celda elegida.
Next
Si necesitas algún aclaración me lo dices que gustoso te ayudaré.
>Un saludo
>Julio
Gracias experto lo aplicare al userform y en caso de alguna duda o error te estaré asiendo una aclaración y si me sirve te finalizare y puntuar.
Gracias
Vale espero que te sirva.
Hola experto gracias por el código que me enviaste me sirvió al 100 y sobre si se repetían los numero en las hojas se se puede porque son números que no se pueden repetir
Muchas gracias me salvaste y gracias por tu ayuda
Excelente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas