Búsquedas con UserForm en diferente Libro

Buena tarde amigos,

Espero me puedan ayudarme con una duda.

Tengo un UserForm que hace una búsqueda dentro de una base de datos, llenando diferentes textbox, todo funciona bien y se hace dentro del mismo libro ya que copio la información de otro libro y la agrego en una pestaña en especifico del archivo donde tengo mi UserForm.

La duda es, se puede hacer o agregar algún código para que la búsqueda la haga con la base de un libro diferente ??

Lo que hace mi UserForm es que ingreso una Clave de Catalogo (TextBox1) y al buscarla me muestra la descripción, el costo, el tipo, etc (TextBox2, 3, 4); esta base con las claves la bajo diariamente ya que constantemente se están actualizando (cambiando precio, tipo, descripción, etc) Independientemente de que se actualicen o no, yo tengo que sacar un archivo diario.

Pero, existe la forma de que para no estar copiando diariamente esa base al archivo de mi UserForm, pueda ligar de alguna forma mi UserForm a ese archivo ?? No se, digamos ingresando una código en mi UserForm con el nombre del archivo y poniéndolo en la misma carpeta ?? O solo con el código para ligarlo al archivo archivo ??

No se si se pueda porque no conozco mucho del tema de VBA pero solamente me gustaría quitarme esta duda

Saludos y gracias

1 Respuesta

Respuesta
1

Si es posible, tienes que tener los dos libros abiertos y por ejemplo si tienes en tu userform algo así:
Textbox2 = Sheets(“hoja5”).range(fila, “B”)
Textbox3 = Sheets(“hoja5”).range(fila, “C”)
Textbox4 = Sheets(“hoja5”).range(fila, “D”)
Podrías poner algo así
Textbox2 = workbooks(“otro libro.xls”).Sheets(“hoja5”).range(fila, “B”)
Textbox3 = workbooks(“otro libro.xls”).Sheets(“hoja5”).range(fila, “C”)
Textbox4 = workbooks(“otro libro.xls”).Sheets(“hoja5”).range(fila, “D”)
Son ejemplos, ya que no conozco como tienes tu código, revísalo y si necesitas que te ayude a modificar el código envíame un correo con ejemplos en tus 2 libros, y me explicas cómo ejecuto el formulario.
Si es lo que necesitas.

Hola amigo, gracias por tu tiempo.

Lo que hace mi código es un VLookup dentro del mismo archivo, este es el código que utilizo para hacer esa búsqueda:

TextBox2 = Application.WorksheetFunction.VLookup(TextBox1, Worksheets("Base").Range("A1:H10"), 2, 0)

Tengo 7 TextBox mas que hacen lo mismo, y revisando lo que me comentas creo que solo tendría que cambiar unos datos en mi código. Entonces debería de funcionarme de la siguiente forma, correcto ??

TextBox2 = Application.WorksheetFunction.VLookup(TextBox1, Workbooks("Otrolibro.xlsx")Worksheets("Sheet1").Range("A1:H10"), 2, 0)

Suponiendo que el VLookup esta dentro de los mismos rangos en el otro libro

Saludos y gracias por tu atencion

Si es correcto, solamente que te falta un punto antes de la palabra Worksheets

TextBox2 = Application.WorksheetFunction.VLookup(TextBox1, Workbooks("Otrolibro.xlsx").Worksheets("Sheet1").Range("A1:H10"), 2, 0)

Y como te comenté, yo te puse un ejemplo, deberás cambiar "Otrolibro" por el nombre verdadero.

Saludos. Dam
Si es lo que necesitas.

Excelente amigo, deja lo cambio y después te vuelvo a molestar por si tengo otras dudas.

Anteriormente me habías ayudado enviándome unos ejemplos de UserForm, revisándolos entendí un poco como funcionan y pude crear uno sencillo de acuerdo a mis necesidades. Nuevamente te agradezco tu apoyo a resolver mis dudas ya que no tengo mucho conocimiento en esto de VBA.

Gracias por tu ayuda Dam !!

Excelente, una vez mas me ayudaste a resolver mis dudas y a aprender un poco mas de como funciona Excel.

Claro, con gusto te sigo ayudando.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas