** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Filtrar AL y un número
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFiltrar AL y un número

 Responder Responder
Autor
Mensaje
cyberagente Ver desplegable
Nuevo
Nuevo


Unido: 20/Julio/2007
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Tema: Filtrar AL y un número
    Enviado: 23/Julio/2009 a las 19:23
Hola a todos,
me pegunto si es posible filtrar una columna en el cual los datos sean "ALG" o empiecen por "AL" y termine con cualquier número.
Es decir, algo así:

Selection.AutoFilter Field:=1, Criteria1:="=ALG", Operator:=xlOr, Criteria2:="=AL0"

pero el Excel cuando ve el número 0 no lo reconoce como cualquier número

Lo que me funciona pero no me vale es:
Selection.AutoFilter Field:=1, Criteria1:="=AL?"
me filtra todo lo que empiece por AL y termine con cualquier dígito o letra.
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5735
Enlace directo a este mensaje Enviado: 23/Julio/2009 a las 22:26
 

Puedes lograrlo con Filtro avanzado.

 
Con una estructura como:
 
  A
1 Algos
2 Al*0
3 Al*1
4 Al*2
5 Al*3
6 Al*4
7 Al*5
8 Al*6
9 Al*7
10 Al*8
11 Al*9
12  
13 Algos
14 Algo1
15 Algo
16 Algo
17 Algo4
18 Algo
19 Algo6
20 JAlgo7
21 Algo8
22 2Algo9
23 Algo
24 Algo
25 Algo12
 

 

En Filtro avanzado (el camino depende de tu versión de Excel):

Rango de la lista:   A13:A25

Rango de Criterios:   A1:A11
 
 Edito para incluirte el código VBA:
Range("A13:A25").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A1:A11"), Unique:=False
 
 


Editado por AnSanVal - 23/Julio/2009 a las 22:29
Saludos desde Tenerife.

Mi sitio_web con ejemplos Excel.
Arriba
avalencia Ver desplegable
Habitual
Habitual
Avatar

Unido: 16/Junio/2006
Localización: Perú
Estado: Sin conexión
Puntos: 84
Enlace directo a este mensaje Enviado: 23/Julio/2009 a las 23:33

Hola. Una alternativa sin usar los autofiltros y/o filtros avanzados:


Dim celda As Range
For Each celda In ActiveSheet.Range("A2:A10")
If Left(celda, 2) <> "Al" Then
If Not IsNumeric(Right(celda, 1)) Then
celda.EntireRow.Hidden = True
End If
End If
Next

Saludos

Abraham
Abraham Valencia
https://abrahamexcel.blogspot.pe/
Arriba
cyberagente Ver desplegable
Nuevo
Nuevo


Unido: 20/Julio/2007
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 25/Julio/2009 a las 13:01
Gracias a los 2 por responder.
AnSanVal: tienes razón, nunca me acuerdo de los filtros avanzados pero me vale perfectamente. Gracias,
Abraha: funciona pero no me es muy eficiente porque los listados que manejo son de 40.000 filas, y a veces se me atasca dependiendo del ordenador en el que trabaje. Gracias.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable