¿Qué cambiar de esta macro?
¿Qué tal como les va? Acudo a alguno de ustedes que me pueda dar una manito para encontrar el cambio que necesita esta macro y así lograr la función que deseo.. Paso a explicar y espero se entienda
Tengo una hoja ventas donde cargo datos, al presionar el botón guardar, automáticamente me guarda la operación de esa hoja.. Ahora, hay cuatro campos que me repite los datos a la hora del guardado, las primeras 4 columnas si ven la foto serian B11 C11 D11 E11 los datos de esa columna se repiten y estoy necesitando que sean guardados una vez tal cual están en la hoja ventas... De lograr esto pienso que también hay que modificar algo para que al próximo guardado no me sobrescriba datos anteriores ya que dadarian celdas vacías.. ¿puede ser? Dejo la secuencia de la macro si es posible me podrían indicar el los cambios que debería hacer a la macro, mis conocimientos en esto son escasos sinceramente, igual con cambios y con lo poco que entiendo logre hacer una sistema útil para mi actividad pero para esto que pido ya mis conocimientos ya no me sirven.. Muchas gracias por su tiempo. Un saludos grande.
dejo la macro
Sub copiar()
Dim fil, col As Integer
Dim x, y, z As Integer
Dim encab(4)
Dim cuerpo()
Sheets("Ventas").Select
Sheets("VENTAS").Range("B11") = Range("b11") + 1
Range("F11").Select
fil = 0
col = 18
Do While Not IsEmpty(ActiveCell)
fil = fil + 1
ActiveCell.Offset(1, 0).Select
Loop
Range("F11").Select
For x = 1 To 4
encab(x) = ActiveCell.Offset(0, x - 5).Value
Next
ReDim cuerpo(fil, col)
Do While Not IsEmpty(ActiveCell)
For x = 1 To fil
For y = 1 To col
cuerpo(x, y) = ActiveCell.Offset(0, y - 1).Value
Next
ActiveCell.Offset(1, 0).Select
Next
Loop
Sheets("REGISTRO").Select
Range("B166").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
For x = 1 To fil
For z = 1 To 4
ActiveCell.Offset(0, z - 1).Value = encab(z)
Next
For y = 1 To col
ActiveCell.Offset(0, y + 3).Value = cuerpo(x, y)
Next
ActiveCell.Offset(1, 0).Select
Next
End Sub
'