Necesito llenar un cuadro de ventas con los datos de un formulario

2 envíos / 0 nuevos
Último envío
Osmin P.
Imagen de Osmin P.
Offline
última acción: Hace 4 años 10 meses
alta: 05/06/2019 - 14:44
Puntos: 25
Necesito llenar un cuadro de ventas con los datos de un formulario

Buen día, soy nuevo trabajando con excel y no tengo muchos conocimientos en cuanto a VBA macros y necesito realizar el llenado de un cuadro de venta con los datos de un formulario, actualmente puedo enviar solo un campo del formulario a la celda que corresponde en el cuadro de ventas y se como hacer que se envien todos los datos al mismo tiempo, ayuda por favor...

AdjuntoTamaño
File formulario2.xlsm1.37 MB

Etiquetas: 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 4 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Tú has hecho esto:    Range(

Tú has hecho esto:

    Range("D10:D10").Select

    Selection.Copy

    Sheets("Ventas").Select

    Range("D10").Select

    ActiveSheet.Paste

 

Probablemente porque has grabado la macro. Es mucho más eficiente hacerlo de la siguiente manera:

Sheets("Ventas").Range("D10").value = Range("D10").value


El siguiente paso es cambiar Range por Cells, que es más fácil de manipular. Nos quedaremos con Range en el formulario, pero utilizaremos cells en la hoja de ventas

Sheets("Ventas").Cells(10,4).value = Range("D10").value

Como ves, es relativamente fácil. Cells tiene como parámetros la fila y la columna. D10 está en la fila 10 y la columna 4. 

Finalmente, nos queda calcular la fila, porque no será siempre la 10. Quiero decir, en el formulario siempre estará el valor en D10, pero en la hoja de ventas queremos que se añada una fila al final.

Esto lo podemos hacer así:

dim fila as long

fila = Sheets("VENTAS").Cells(1048576, 4).End(xlUp).Row + 1

Sheets("Ventas").cells(fila,4).value = Range("D10").value
 
 
Finalmente, utilizando el mismo criterio, ya podemos copiar el resto de los datos:
 

dim fila as long

fila = Sheets("VENTAS").Cells(1048576, 4).End(xlUp).Row + 1

Sheets("Ventas").cells(fila,4).value = Range("D10").value
Sheets("Ventas").cells(fila,2).value = Date
Sheets("Ventas").cells(fila,3).value = Range("D6").value
.
.
.
 
 
Un saludo