Foros del Web » Soporte técnico » Ofimática »

filtrado de una lista

Estas en el tema de filtrado de una lista en el foro de Ofimática en Foros del Web. Alguien podria ayudarme con el filtrado de una lista?. el problemas es que tengo datos que son numericos y de texto en la misma columna ...
  #1 (permalink)  
Antiguo 28/06/2007, 11:14
 
Fecha de Ingreso: junio-2007
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
filtrado de una lista

Alguien podria ayudarme con el filtrado de una lista?. el problemas es que tengo datos que son numericos y de texto en la misma columna y quiero que solo me saque a una hoja nueva los de texto. Gracias
  #2 (permalink)  
Antiguo 29/06/2007, 03:11
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.590
Antigüedad: 15 años, 9 meses
Puntos: 144
Re: filtrado de una lista

Prueba este macro (ponlo en la sección de módulos):
Código:
Sub SoloTexto()
'**************************************************************************
'SUPUESTO:
'Rango de datos: desde A1 hasta donde sea.
'El macro acaba, cuando encuentra una fila vacía
'Tenemos 2 hojas: Hoja1 y Hoja2 (estos son los nombres que vemos en VBA,
'no los nombres que le damos a las pestañas desde Excel)
'En Hoja1 están los datos de origen, y el texto se pegará en Hoja2
'**************************************************************************
'Ocultamos el procedimiento
Application.ScreenUpdating = False
'Nos situamos en A1
Hoja1.Select
Range("A1").Select
'Mientras la celda en cuestión no esté vacía, que
'vaya bajando una fila, hasta que se encuentre con una vacía
Do While Not IsEmpty(ActiveCell)
   'Miramos si es texto
    If Not IsNumeric(ActiveCell) Then
        dato = ActiveCell
        'Seleccionamos la Hoja2
        Hoja2.Select
        Range("A1").Select
    'Si está vacía la fila, ponemos el primer dato
        If IsEmpty(ActiveCell) Then
            'y ahí pegamos el texto
            ActiveCell = dato
       'en caso contrario, buscamos la primera fíla vacía
        Else
         'Recorremos esa columna, hasta encontrar una fila vacía
            Do While Not IsEmpty(ActiveCell)
                'Bajamos una fila
                ActiveCell.Offset(1, 0).Select
            Loop
            'y ahí pegamos el texto
            ActiveCell = dato
        End If
    End If
    'Bajamos una fila
    Hoja1.Select
    ActiveCell.Offset(1, 0).Select
Loop
'Volvemos al la Hoja1
Hoja1.Select
Range("A1").Select
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub
Salu2
  #3 (permalink)  
Antiguo 30/06/2007, 01:23
 
Fecha de Ingreso: junio-2007
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Re: filtrado de una lista

muchas gracias. aprecio mucho tu esfuerzo y voy a ver si me funciona. saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.