Urgente: eliminación palabras de una lista... macro?

18/05/2006 - 15:51 por Marta | Informe spam
Buenas tardes!

Tengo un problema de urgente resolución y quería que me comentárais cómo
haríais esto.
Tengo una lista de palabras (65.000) de muchos tipos. Algunas de ellas
incluyen nombres de países o ciudades, y otras no.
Quiero eliminar de ese largo listado todas aquellas palabras que incluyan un
nombre de país o un nombre de ciudad (por ejemplo, si una de las palabras es
hoteles en madrid, que esa palabra desaparezca de mi listado).

Como son tantas palabras y tantas ciudades/países, no puedo hacerlo
manualmente con un filtro.

Se me había ocurrido crear una lista aparte de nombres de ciudades y países,
y hacer algo para que Excel buscara en la lista de 65.000 palabras todas
aquellas que incluyen alguna de las palabras de la lista de ciudades y
países, y que si encuentra alguna que la elimine.

¿Se podría hacer con una macro? ¿cómo sería esta macro? Si no... ¿qué otra
forma se os ocurre?
Esta lista de países tendría unas 50 palabras, más o menos.

Muchas gracias por vuestra rápida ayuda!!!

Marta
 

Leer las respuestas

#1 Miguel Zapico
18/05/2006 - 21:16 | Informe spam
Una posible solucion puede ser:

Sub CheckRange()
Set miRango = ActiveWorkbook.Worksheets(1).Range("A:A")
For Each cell In miRango
If BuscarPalabras(cell.Value) > 0 Then cell.Value = ""
Next
End Sub

Function BuscarPalabras(str1)
Dim regEx
Set regEx = CreateObject("vbscript.regexp")
regEx.Global = True
regEx.Pattern = "Madrid|Roma|Berlin" '< Aqui va la lista de palabras
regEx.IgnoreCase = True
Set myMatches = regEx.Execute(str1)
For Each Match In myMatches
i = i + 1
Next
BuscarPalabras = i
End Function

La macro mirará los datos en la columna A de la hoja 1, y los comprobará
contra la lista de palabras en la función (deben estar separadas por el
simbolo |). Las celdas que contegan alguna de las palabras se eliminarán.
La macro puede tardar un ratito, pero creo que hará lo que necesitas. Por
si acaso, trabaja sobre una copia.

Espero que te sirva,
Miguel.

"Marta" wrote:

Buenas tardes!

Tengo un problema de urgente resolución y quería que me comentárais cómo
haríais esto.
Tengo una lista de palabras (65.000) de muchos tipos. Algunas de ellas
incluyen nombres de países o ciudades, y otras no.
Quiero eliminar de ese largo listado todas aquellas palabras que incluyan un
nombre de país o un nombre de ciudad (por ejemplo, si una de las palabras es
hoteles en madrid, que esa palabra desaparezca de mi listado).

Como son tantas palabras y tantas ciudades/países, no puedo hacerlo
manualmente con un filtro.

Se me había ocurrido crear una lista aparte de nombres de ciudades y países,
y hacer algo para que Excel buscara en la lista de 65.000 palabras todas
aquellas que incluyen alguna de las palabras de la lista de ciudades y
países, y que si encuentra alguna que la elimine.

¿Se podría hacer con una macro? ¿cómo sería esta macro? Si no... ¿qué otra
forma se os ocurre?
Esta lista de países tendría unas 50 palabras, más o menos.

Muchas gracias por vuestra rápida ayuda!!!

Marta

Preguntas similares