Copiar unas celdas determinadas en otra hoja

Necesito saber como poder asignar una macro al botón "guardar venta" que muestra la imagen que copie unas celdas determinadas en otra hoja por ejemplo lo indicaré con imágenes.

Hoja1 (formulario)

De acá copiar el rango B4:C4, bueno dependiendo de cuantos productos se venda por ejemplo si el cliente compra 3 productos estos quedarán agregados entre B4 y D6 ya que son esos rangos que tienen valores.

Como muestra esta imagen:

y las celdas que muestra esta otra imagen ue son I3  -  I11

Que todas esas celdas se copien en la hoja3 (ventas)

Que tiene este formato y debería quedar así con todos los valores ingresados:

Y que al ingresar otra venta yo le doy borrar con el botón "BORRAR VENTA" y agrego nuevos valores y que debería quedar así abajo de la venta anterior:

Si se dan cuenta en las imágenes todos los encabezados son iguales y voy agregando valores para que se vea mejor el ejemplo, ojo solo necesito copiar, las demás funciones de agregar venta, borrar venta, registrar boleta, etc. Funcionan no tengo problemas con eso.

Sería de mucho agrado contar con sus ayudas.

1 Respuesta

Respuesta
2

H  o l a:

Te anexo la macro

Sub GuardarVenta()
'Por.Dante Amor
    Set h1 = Sheets("formulario")
    Set h2 = Sheets("ventas")
    i = 4
    Do While h1.Cells(i, "B") <> ""
        j = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
        h2.Cells(j, "A") = h1.[I3]
        h2.Cells(j, "B") = h1.Cells(i, "B")
        h2.Cells(j, "C") = h1.Cells(i, "C")
        h2.Cells(j, "D") = h1.Cells(i, "D")
        h2.Cells(j, "E") = h1.[I11]
        i = i + 1
    Loop
    MsgBox "Venta Guardada", vbInformation
End Sub

Muy agradecido amigo funciona perfecto, consulta, como hago para que el textbox en donde ingreso la cantidad vendida, en excel lo tome como numero y no como texto, ya que la función sumar no lo hace cuando queda registrado en la hoja ventas como numero. envío imagen 

y este es el código del formulario:

Private Sub CommandButton1_Click()
If Len(TextBox1) > 1 And TextBox1 <> "" Then
TextBox1 = "" & TextBox1
Set h = Sheets("FORMULARIO")
u = h.Range("B" & Rows.Count).End(xlUp).Row + 0
h.Cells(u, "C") = ComboBox1
h.Cells(u, "D") = TextBox1
TextBox1 = ""
ComboBox1 = ""
TextBox1.SetFocus
End If
End Sub

Private Sub CommandButton2_Click()
UserForm2.Hide
End Sub

Private Sub UserForm_Activate()
Set h3 = Sheets("PRODUCTOS")
For i = 2 To h3.Range("A" & Rows.Count).End(xlUp).Row
ComboBox1.AddItem h3.Cells(i, "A")
Next
End Sub

Donde sería el cambio? en la formula o en la macro?

Muchas Gracias!!!

Cambia esto

h.Cells(u, "D") = TextBox1

por esto

h.Cells(u, "D") = cdbl(TextBox1)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas