insertar fila en blanco

09/12/2005 - 12:42 por ACH | Informe spam
Tengo una lista con mas de 2000 filas y quiero insertar una fila en blanco
despues de cada una de las que ya yengo escritas. ¿Como lo hago mediante una
macro y de una sola vez?.

Preguntas similare

Leer las respuestas

#1 Gabriel Raigosa
09/12/2005 - 15:08 | Informe spam
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


"ACH" escribió en el mensaje
news:OWlTjWL$
Tengo una lista con mas de 2000 filas y quiero insertar una fila en blanco
despues de cada una de las que ya yengo escritas. ¿Como lo hago mediante
una macro y de una sola vez?.


Respuesta Responder a este mensaje
#2 KL
09/12/2005 - 15:33 | Informe spam
Hola chicos,

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" wrote in message news:%23UM$8nM$
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


"ACH" escribió en el mensaje news:OWlTjWL$
Tengo una lista con mas de 2000 filas y quiero insertar una fila en blanco despues de cada una de las que ya yengo escritas.
¿Como lo hago mediante una macro y de una sola vez?.






Respuesta Responder a este mensaje
#3 RAUL
10/12/2005 - 19:21 | Informe spam
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?.
Saludos.

"KL" escribió:

Hola chicos,

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" wrote in message news:%23UM$8nM$
> 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
>
>
> "ACH" escribiС en el mensaje news:OWlTjWL$
>> Tengo una lista con mas de 2000 filas y quiero insertar una fila en blanco despues de cada una de las que ya yengo escritas.
>> ©Como lo hago mediante una macro y de una sola vez?.
>>
>>
>
>


Respuesta Responder a este mensaje
#4 KL
10/12/2005 - 21:30 | Informe spam
Hola Raul,

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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida