Fallo con Filtro en macro

10/02/2010 - 17:37 por Belinda | Informe spam
Hola amigos...
Cuando creia haber conseguido lo que me proponía (con ayuda de todos
vosotros, como siempre) me falla algo en este macro. Resulta que debo
eliminar las filas que en la columna C tengan la palabra FAC (SI
EXISTE) y me lo hace bien este macro, EXCEPTO CUANDO SOLO HAY UNA FILA
CON ESA CONDICION...¿Me podéis ayudar para que lo haga bien...

Gracias

Sub el_facturada()

Rows("1:2").Select
Selection.Delete Shift:=xlUp
Range("A:A,C:C,D:D,F:F,H:H").Select
Range("H1").Activate
Selection.Delete Shift:=xlToLeft
With Range("C2").CurrentRegion
.Select
numfilas = .Rows.Count
End With
If Application.WorksheetFunction.CountIf(Range("c:c"), "FAC") Then
Selection.AutoFilter Field:=3, Criteria1:="FAC"
Range("A2:" & "A" & numfilas).EntireRow.Delete Shift:=xlUp
Selection.AutoFilter
End If
Range("C2").Select
End Sub
 

Leer las respuestas

#1 Héctor Miguel
11/02/2010 - 06:00 | Informe spam
hola, !

... debo eliminar las filas que en la columna C tengan la palabra FAC (SI EXISTE) y me lo hace bien este macro
EXCEPTO CUANDO SOLO HAY UNA FILA CON ESA CONDICION...Me podeis ayudar para que lo haga bien...



cuando solo existe una fila con esa condicion, es la fila 1 ? (o sea...)

=> "que" es lo que queda en la fila 1 ? (titulos ?... o datos ?)
luego de eliminar inicialmente las filas 1 y 2, y comenzar a "trabajar" a partir de [C2]...

saludos,
hector.

__ el codigo expuesto __
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Range("A:A,C:C,D:D,F:F,H:H").Select
Range("H1").Activate
Selection.Delete Shift:=xlToLeft
With Range("C2").CurrentRegion
.Select
numfilas = .Rows.Count
End With
If Application.WorksheetFunction.CountIf(Range("c:c"), "FAC") Then
Selection.AutoFilter Field:=3, Criteria1:="FAC"
Range("A2:" & "A" & numfilas).EntireRow.Delete Shift:=xlUp
Selection.AutoFilter
End If
Range("C2").Select
End Sub

Preguntas similares