Visual Basic para Aplicaciones - Como eliminar filas con For each

Life is soft - evento anual de software empresarial
   
Vista:

Como eliminar filas con For each

Publicado por Cristian naizir@gmail.com (2 intervenciones) el 24/11/2015 20:57:52
Hola!!!

Espero me puedan ayudar, recien estoy aprendiendo VB para excel, y se me ocurrio automatizar una pequeña tarea, que incluye eliminar todas las filas en donde la fecha de la celda sea inferior a lo digitado en un inputbox. Pero me elimina solo una fila.

Aca va el codigo que utilizo:

1
2
3
4
5
6
7
8
9
10
11
Sub elim_fila()
Worksheets(1).Range("C1000000").End(xlUp).Select
Range(Selection, Selection.End(xlUp)).Select
Dim seleccion As Range
fechacelda = CDate(InputBox("Seleccione fecha a eliminar", ""))
      For Each seleccion In Selection
   If seleccion.Value < fechacelda Then
      seleccion.EntireRow.Delete
   End If
Next seleccion
End Sub

Espero ser claro, ya que aun me complica el metodo For each y el For Next, no los entiendo del todo.

Gracias por su ayuda.

Un abrazo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como eliminar filas con For each

Publicado por GMG (12 intervenciones) el 25/11/2015 10:13:34
Puedes intentar con esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub elim_fila()
Dim i As Integer
i = 0
 
fechacelda = CDate(InputBox("Seleccione fecha a eliminar", ""))
Range("C1").Select
     While Not IsEmpty(ActiveCell.Offset(i, 0))
            If ActiveCell.Offset(i, 0) < fechacelda Then
                ActiveCell.Offset(i, 0).EntireRow.Delete
                i = i - 1
            End If
            i = i + 1
    Wend
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Como eliminar filas con For each

Publicado por Cristian (2 intervenciones) el 25/11/2015 12:25:27
Muchas gracias GMG, averiguare mas sobre esta función.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar