suponiendo que tengo datos desde celda A1 hasta la fila "x", no importa
cual.
la macro va a la celda A1 e inserta una fila debajo de esta, luego busca la
siguiente fila con algún dato e inserta otra fila en blanco y así
sucesivamente.
Sub insertar()
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Selection.EntireRow.Insert
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Range("A1").Activate
End Sub
--
Gabriel Raigosa
Gabriel...@hot.mail.com
"ACH" <augus...@terra.es> escribió en el mensaje
news:OWlTjWL$FHA....@tk2msftngp13.phx.gbl...
Este macro creo que sera un poco mas rapido y menos parpadeante:
Sub test()
Dim Ufila As Long, i As Long
Application.ScreenUpdating = False
With ActiveSheet
Ufila = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = Ufila To 2 Step -1
If .Cells(i, "A") <> "" Then _
.Rows(i).EntireRow.Insert Shift:=xlDown
Next i
End With
End Sub
Saliudos,
KL
"Gabriel Raigosa" <Gabriel...@hot.mail.com> wrote in message news:%23UM$8nM$FHA....@TK2MSFTNGP11.phx.gbl...
> Saludos:
>
> suponiendo que tengo datos desde celda A1 hasta la fila "x", no importa cual.
>
> la macro va a la celda A1 e inserta una fila debajo de esta, luego busca la siguiente fila con algЗn dato e inserta otra fila en
> blanco y asМ sucesivamente.
>
> Sub insertar()
> ActiveSheet.Range("A1").Activate
> Do While Not IsEmpty(ActiveCell)
> ActiveCell.Offset(1, 0).Activate
> Selection.EntireRow.Insert
> ActiveCell.Offset(1, 0).Activate
> Loop
> ActiveSheet.Range("A1").Activate
> End Sub
>
> --
> Gabriel Raigosa
>
> Gabriel...@hot.mail.com
> "ACH" <augus...@terra.es> escribiС en el mensaje news:OWlTjWL$FHA....@tk2msftngp13.phx.gbl...
"KL" escribió:
> Es rápida, pero no "frena" en una fila vacía. Es posible hacer que inserte
> filas hasta llegar a una vacía y ahí se detenga?.
Me parece que segun la descripcion inicial lo de franar al tropezar con una fila vacia no era precisamente la idea: "...insertar una
fila despues de cada una de las ... ya ... escritas". Si es lo que quieres, entonces se puede cambiar el codigo de la siguiente
manera:
Sub test()
Dim Ufila As Long, i As Long
Application.ScreenUpdating = False
With ActiveSheet
Ufila = .Cells(2, "A").End(xlDown).Row
For i = Ufila To 2 Step -1
If .Cells(i, "A") <> "" Then _
.Rows(i).EntireRow.Insert Shift:=xlDown
Next i
End With
End Sub
Saludos,
KL