Tengo una hoja para sacar presupuestos. Lo que quisiera es tener un campo donde le ponga el ID del artículo y me rellene en la primera fila libre (a partir de la 5) los datos de dicho artículo (descripción, precio unitario) dicha info estaría en otra hoja del libro. Muchas gracias.
Por lo que entiendo, la información no se coloca en una fila fija, sino que variará, pues será siempre la primera fila libre, y a medida que se vayan introduciendo datos, la fila libre variará. Si mi intrepretación es correcta, necesitas la ayuda de macros. Partiremos del siguiente supuesto que deberás adaptar a tu libro: En la Hoja1 tenemos el listado de artículos, en la columna A tenemos el ID, en la B el nombre, y en la C el precio. Dicha lista ocupa el rango A1:C5. En la Hoja2 tenemos en la celda B4 escrito ID, en C4:nombre y en D4: precio. Queremos conseguir que al escribir un ID en la celda B5, aparezca al lado el nombre y el precio. Para ello escribe en la celda C5 =BUSCARV(B10;Hoja1! A1:C5;2;0), y en la celda D5 =BUSCARV(B10;Hoja1! A1:C5;3;0). Si todo ha ido bien, cada vez que cambies el ID en B5, se cambiará el nombre y el precio. Ahora sólo queda conseguir que estos datos se copien en la primera celda vacía: es cuando necesitamos la macro: ve al editor de Visual Basic (Alt+F11), ve a Insertar-Módulo, y copia el siguiente código: Sub DatosProductos() Range("B5:D5").Copy Range("B65536").End(xlUp).Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False End Sub Cierra el editor de Visual Basic, y ve a Ver-Barra de Herramientas-Formulario. Pincha sobre el botón, y suéltalo donde desees: te aparecerá un cuadro diciéndote que macro quieres asignar. Haz doble click sobre DatosProductos, y ya lo tienes. Cada vez que pinches sobre el botón se copiarán esos datos en la primera fila vacía. Espero haberte sido de ayuda, si te queda cualquier duda vuelve a preguntarme y con gusto te ayudo. Sino.