Insertar filas mediante macro en Excel 2010

Tengo una macro para insertar una fila con los datos de la fila anterior:

Sub Insertar()
Dim fila As Integer
fila = ActiveCell.Row
Rows(fila).Insert Shift:=xlDown
If fila = 4 Then Rows(fila + 1).Copy Else Rows(fila + 1).Copy
Rows(fila).PasteSpecial Paste:=xlPasteAll
End Sub

Una vez ejecutada quedan seleccionados los datos añadidos; quiero continuar la macro para que borre los datos de determinadas columnas de esa fila seleccionada y lo más importante, que la macro se ejecute y borre los datos con independencia de la fila que haya sido escogida para insertar la fila debajo.

1 respuesta

Respuesta
1
If fila = 4 Then Rows(fila + 1).Copy Else Rows(fila + 1).Copy

No entiendo esta linea. Si fila = X haz Y, y si no es X, también haz Y? Una captura de pantalla con lo que quiere hacer sería de utilidad. 

La fila en amarillo es la que se ha insertado al ejecutar la macro, quiero que a continuación borre los datos de las columnas cantidad hasta cliente (ambas incluidas), que a continuación la celda de cantidad se quede como activa y que eso lo haga con independencia del número de fila en la que decida insertarla.

Private Sub CommandButton1_Click()
Dim fila As Integer
fila = ActiveCell.Row
Rows(fila).Insert Shift:=xlDown
Rows(fila + 1).Copy
Rows(fila).PasteSpecial Paste:=xlPasteAll
Range("J" & (fila + 1) & ":N" & (fila + 1)).Clear
Range("J" & (fila + 1)).Select
End Sub

En principio eso debería funcionar; se lo he puesto en un Commandbutton, pero lo puede poner en su Sub si quiere.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas