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...
Adjunto | Tamaño |
---|---|
formulario2.xlsm | 1.37 MB |
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
dim fila as long
fila = Sheets("VENTAS").Cells(1048576, 4).End(xlUp).Row + 1