Contar solo filas visibles
Publicado por sebasgin (1 intervención) el 25/02/2009 08:25:28
Hola amig@s.
Estoy haciendo una aplicación VBA en Excel para mi empresa y hasta ahora iba todo bien hasta que he tropezado con esto:
Application.ScreenUpdating = False
celda = ActiveCell.Address
Z = Textbox1.Text
ActiveSheet.Range("c1").Select
For i = 1 To 5999
If InStr(LCase(ActiveCell), Z) <> 0 Then contador = contador + 1
ActiveCell.Offset(1, 0).Select
'En la celda I13 ponemos la cantidad de palabras encontradas
If contador = "" Then contador = 0
Range("I3") = "Se ha encontrado " & contador & " veces, la palabra: " & Z
Next
Range(celda).Select
Application.ScreenUpdating = True
Este codigo me permite saber cuantas veces hay una determinada palabra en la columna A. El problema es que hace el contador en todas las celdas de esa columna, esten o no visibles, por consiguiente cundo aplico un filtro también hace el contador sobre los datos ocultos por éste y no sobre los datos mostrados.
Supongo que la solución sería por cambiar algún parámetro en la línea ActiveSheet.Range("c1").Select para que solamente seleccione las lineas visibles, pero no se como hacerlo. Alguna solución?
Gracias.
Salu2
Estoy haciendo una aplicación VBA en Excel para mi empresa y hasta ahora iba todo bien hasta que he tropezado con esto:
Application.ScreenUpdating = False
celda = ActiveCell.Address
Z = Textbox1.Text
ActiveSheet.Range("c1").Select
For i = 1 To 5999
If InStr(LCase(ActiveCell), Z) <> 0 Then contador = contador + 1
ActiveCell.Offset(1, 0).Select
'En la celda I13 ponemos la cantidad de palabras encontradas
If contador = "" Then contador = 0
Range("I3") = "Se ha encontrado " & contador & " veces, la palabra: " & Z
Next
Range(celda).Select
Application.ScreenUpdating = True
Este codigo me permite saber cuantas veces hay una determinada palabra en la columna A. El problema es que hace el contador en todas las celdas de esa columna, esten o no visibles, por consiguiente cundo aplico un filtro también hace el contador sobre los datos ocultos por éste y no sobre los datos mostrados.
Supongo que la solución sería por cambiar algún parámetro en la línea ActiveSheet.Range("c1").Select para que solamente seleccione las lineas visibles, pero no se como hacerlo. Alguna solución?
Gracias.
Salu2
Valora esta pregunta
0