Se puede en excel? combinar tablas

15/09/2007 - 17:38 por GRIEGO59 | Informe spam
Hola!
Tengo una tabla de compras con los campos:
Serial del producto, Fecha de compra, Número de factura de compra,
Descripción del producto, Costo del producto, Precio de venta del producto

y otra tabla de ventas con los campos:
Serial del producto, Fecha de venta, Número de factura de venta

Se puede con excel crear una nueva tabla que combine los campos de ambas
tablas? quedaría así:
Serial del producto, Fecha de compra, Fecha de venta, Número de factura de
compra, Número de factura de venta, Descripción del producto, Costo del
producto, Precio de venta del producto

El campo "Serial del Producto" cada producto aunque sea una identico al otro
tiene un serial único.

Ójala se pueda hacer esto con excel.
Gracias
GRIEGO59

Preguntas similare

Leer las respuestas

#16 GRIEGO59
23/09/2007 - 13:34 | Informe spam
Gracias por la ayuda; Yo aun no he terminado de asimilar algunos detalles de
la primera macro; aquí tu me explicas referente a la segunda macro.
En realidad, todavía tengo algunas dudas que no se qué significan como:

Dim
Byte:
Application.ScreenUpdating
Application.CountA
xlValues,
xlWhole).
Offset
.Resize
Array
Pero no te quiero preguntar directamente por el singnificado, porque me da
verguenza y me vas a mandar a leer.
Saludos,
Griego59
#17 Héctor Miguel
24/09/2007 - 01:51 | Informe spam
hola, Darío !

Mostrar la cita
1) de los *unicos* datos que conozco y/o has comentado/expuesto/... como *variables* para tu hoja "facturadeventas"
- la fecha y el numero de factura: 'A2, y 'B2'
- los posibles articulos vendidos en 'B4:B18'

2) de la propuesta modificada para el *pase directo* a la hoja de "compras"...

Sub RegistraFactura()
Dim Fila As Byte: Application.ScreenUpdating = False
With Worksheets("facturadeventas")
For Fila = 4 To Application.CountA(.Range("b4:b18")) + 3
Worksheets("compras").Range("a:a") _
.Cells.Find(.Range("b" & Fila), Range("a1"), xlValues, xlWhole).Offset(, 6) _
.Resize(, 2) = Array(.Range("b2").Value, .Range("a2").Value)
Next
End With
End Sub

-> DESPUES de la linea con el 'Next'... Y ANTES de la linea con el *End With*
puedes borrar de un solo paso todas las celdas que le indiques con una instruccion +/- como la siguiente:

.Range("a2,b2,b4:b18").ClearContents

-> *nota* el punto ANTES de *Range* y puedes agregar otras celdas/rangos entre las comillas dobles

saludos,
hector.
#18 Héctor Miguel
24/09/2007 - 02:26 | Informe spam
hola, Darío !

Mostrar la cita
puedes hacer a un lado la verguenza... pero si... si preferiria mandarte a leer [y te explico el por que]...

1) antes las aplicaciones se empaquetaban con manuales impresos, ahora los manuales son la ayuda en linea {F1}

2) [o sea] los manuales/libros/articulos/... cursos/... etc.
a) los escriben/imparten... *los que SI*...
b) y estan dirigidos para *los que NO*...
le han dedicado tiempo a estudiar los [nuevos] *manuales integrados* de las aplicaciones [la ayuda en linea o {F1}]
-> claro que cada quien *le imprime* uno que otro peque#o detalle adicional
[como ejemplos mas comprensibles/didacticos/practicos/*reales*, etc. etc. etc.] :))

saludos,
hector.
#19 GRIEGO59
24/09/2007 - 12:22 | Informe spam
Hola Hector
Me he distraido aprendiendo códigos y he dejado de lado mi proyecto de
facturación e inventario.
Sabes que necesito agregar una instrucción al final de la macro que copia
los datos de la hoja FACTURADEVENTA a la hoja COMPRAS, para *blanquear* la
hoja FACTURADEVENTAS de manera de que esté lista para una nueva venta, es
decir que deje todos los campos sin contenido. Me puedes ayudar con esto?

Creo que uno de los dos está confundido, te estoy preguntando sobre el
primer código y creo que me estás respondiendo sobre el segundo.

Saludos,

Griego59
#20 Héctor Miguel
24/09/2007 - 19:04 | Informe spam
hola, Darío !

Mostrar la cita
1) [segun yo] el *primer* codigo eran realmente dos procedimientos para actualizar la hoja "compras"...
- uno que pasaba los datos desde la hoja "ventas": -> Sub RegistroDeVentas()
- otro que pasaba datos de la hoja "facturadeventas": -> Sub RegistraFactura()

2) el *primer* codigo para registrar desde la hoja "facturadeventas" usaba la siguiente instruccion:
-> .Cells.Find(.Range("b4").Cells(1), Range("a1")
de donde [yo] suponia que el rango 'B4:B18' de la hoja era un rango *endemoniadamente* combinado :D
por lo que SOLO registraba UNO de los articulos vendidos de la hoja "facturadeventa" a la hoja "compras"

3) despues aclaraste que se trataba de la posibilidad de varios numeros de serie en una sola factura ;)
por lo que te sugeria un cambio para ese *primer* procedimiento para registrar cualquier numero de series en 'B4:B18'
usando un bucle del tipo: -> For Fila = 4 To Application.CountA(.Range("b4:b18")) + 3

-> a cual *primer* codigo te refieres para *blanquear* la hoja de "facturadeventas" ???

saludos,
hector.
Ads by Google
Search Busqueda sugerida