Bucle de macro rebelde

09/05/2004 - 04:56 por Luis Menéndez | Informe spam
Estimados todos , esta pregunta seguro que es muy sencilla para vosotros ,
¿porque el primer "rows" va bien y el segundo "rows" de este segmento de
macro me da error 13?

Rows("1:17").Select
Selection.Delete Shift:=xlUp

Dim i As Integer
For i = 1 To 100
Rows("i*48+1:i*48+18").Select
Selection.Delete Shift:=xlUp

Next i
 

Leer las respuestas

#1 Fernando Arroyo
09/05/2004 - 10:01 | Informe spam
Prueba con

Rows(i * 48 + 1 & ":" & i * 48 + 18).Select

Aparte de esto, normalmente no es necesario seleccionar un rango para trabajar con él desde VBA, por lo que el código

Rows("1:17").Delete Shift:=xlUp

Dim i As Integer
For i = 1 To 100
Rows(i * 48 + 1 & ":" & i * 48 + 18).Delete Shift:=xlUp
Next i

debería funcionarte, y ganarás algo de rendimiento.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Luis Menéndez" escribió en el mensaje news:
Estimados todos , esta pregunta seguro que es muy sencilla para vosotros ,
¿porque el primer "rows" va bien y el segundo "rows" de este segmento de
macro me da error 13?

Rows("1:17").Select
Selection.Delete Shift:=xlUp

Dim i As Integer
For i = 1 To 100
Rows("i*48+1:i*48+18").Select
Selection.Delete Shift:=xlUp

Next i





Preguntas similares