VLOOKUP EN FORMULARIO USERFORM

5 envíos / 0 nuevos
Último envío
rubengc
Imagen de rubengc
Offline
última acción: Hace 4 años 2 semanas
alta: 10/03/2020 - 20:13
Puntos: 45
VLOOKUP EN FORMULARIO USERFORM

Buenas tardes a todos.

He hecho un formulario con diferentes campos a completar manualmente, excepto uno, el campo "descripción" que necesito que se autocomplete al introducir

un nº determinado en el campo anterior "cod barras producto". En la hoja 1 está el formulario y en la hoja 2 la base de datos de la cual se tiene que alimentar (buscarv) para que vuelque la descripción.

Lo he intentado de dos maneras:

1) Intentado crear un evento para que cada vez que introduzca el nº "cod de barras producto", aparezca la descripción.

2) Insertando un botón con la función equivalente del buscarv.

En ambos casos sin éxito.

Espero haberme explicado bien y gracias por la ayuda de antemano.

Adjunto formulario.

Un saludo

Rubén

AdjuntoTamaño
File copia_de_prueba_cb.1.xlsm26.23 KB

Etiquetas: 

FernandoML
Imagen de FernandoML
Offline
última acción: Hace 1 año 9 meses
alta: 01/02/2018 - 19:53
Puntos: 265
VLOOKUP EN FORMULARIO USERFORM

Hola Ruben:

Prueba esto en el boton de buscar de tu formulario

Dim Fila As Integer
Fila = Hoja1.Range("A:A").Find(codbarrasproducto.Value).Row

descripción.Value = Hoja1.Range("B" & Fila).Value

Pruebalo y nos comentas si te funciona o te hace falta algo mas

Un saludo

FernandoML

 


Espero te sirva
Un Saludo
Fernando

rubengc
Imagen de rubengc
Offline
última acción: Hace 4 años 2 semanas
alta: 10/03/2020 - 20:13
Puntos: 45
Gracias Fernando. Me ha

Gracias Fernando. Me ha funcionado a la perfección.

Para entenderlo bien. Has creado una variable que la tiene que encontrar en la hoja 1con el valor "codbarrasproducto".

Pero lo que no entiendo es que no le indicas la hoja 2 y en cambio sí que lo busca el dato "descripción".

Le vay a dar más vueltas porque quiero entenderlo.

Un saludo y gracias de nuevo

Rubén

 

 

FernandoML
Imagen de FernandoML
Offline
última acción: Hace 1 año 9 meses
alta: 01/02/2018 - 19:53
Puntos: 265
VLOOKUP EN FORMULARIO USERFORM

Hola de nuevo Ruben:

Te explico:

Dim Fila As Integer

      Fila es la variable que uso para obtener en que fila se encuentra el dato que estamos buscando en nuestro caso el código de barras.

Fila = Hoja1.Range("A:A").Find(codbarrasproducto.Value).Row

      Cuando abrimos el proyecto de macros, veremos en la parte superior izquierda:

            Hoja1 (Datos herramientas)

            Hoja3 (Formulario)

      En este caso en concreto nuestras hojas se llaman (Datos herramientas y Formulario) que son las que figuran entre parentesis. Si un usuario cambiase el nombre de cualquiera de las hojas, el programa que estamos diseñando pordría dejar de funcionar mientras usemos la siguiente instrucción (sheets("Datos herramientas")). Si usamos el nombre que figura a la izquierda (Hoja1) el codigo o el programa no te fallarán aunque le cambien el nombre a todas las hojas.

     Hace la misma función de la siguiente manera

      1ª: Fila = Sheets("Datos personales").Range("A:A").Find(codbarrasproducto.Value).Row

      2ª: Fila = Hoja1.Range("A:A").Find(codbarrasproducto.Value).Row

Espero haberte aclarado las dudas.

Un saludo

Fernando

 

 


Espero te sirva
Un Saludo
Fernando

rubengc
Imagen de rubengc
Offline
última acción: Hace 4 años 2 semanas
alta: 10/03/2020 - 20:13
Puntos: 45
Entendido. Todo.Muchas

Entendido. Todo.

Muchas gracias Fernando

Un saludo

Rubén