COMO COMPARAR CADENAS QUITANDO ACENTOS???

27/09/2004 - 13:31 por gema.bernardo | Informe spam
Hola gente!

Alguien sabe como comparar dos cadenas de caracteres en VBA sin tener en
cuenta los acentos: ejemplo:

TIPO_OPERACION = TIPO_OPERACION
y tambien ocurre que:
TIPO_OPERACIÓN = TIPO_OPERACION

Un saludo y muchas gracias.

Gema BM

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
27/09/2004 - 17:03 | Informe spam
"GEMA" escribió en el mensaje news:%
Hola gente!

Alguien sabe como comparar dos cadenas de caracteres en VBA sin tener en
cuenta los acentos: ejemplo:

TIPO_OPERACION = TIPO_OPERACION
y tambien ocurre que:
TIPO_OPERACIÓN = TIPO_OPERACION

Un saludo y muchas gracias.

Gema BM




Si no tienes que diferenciar mayúsculas y minúsculas, puedes usar:

=MINUSC(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(MINUSC(A1);"á";"a");"é";"e");"í";"i");"ó";"o");"ú";"u"))=MINUSC(B1)

(suponiendo que el texto con acentos estuviese en A1 y el texto sin acentos en B1)
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 Héctor Miguel
28/09/2004 - 09:39 | Informe spam
GEMA escribio en el mensaje...
... como comparar dos cadenas de caracteres en VBA [...]



otra alternativa [si necesitas 'comparar' dentro de procedimientos en vba] es...
'diseñar' una funcion 'personalizada' que vaya 'limpiando' los acentos de la cadena 'original' [p.e.]
en un modulo de codigo 'normal' ==Function SinAcentos(ByVal Cadena As String) As String
Cadena = Replace(Cadena, "Á", "A")
Cadena = Replace(Cadena, "á", "a")
Cadena = Replace(Cadena, "É", "E")
Cadena = Replace(Cadena, "é", "e")
Cadena = Replace(Cadena, "Í", "I")
Cadena = Replace(Cadena, "í", "i")
Cadena = Replace(Cadena, "Ó", "O")
Cadena = Replace(Cadena, "ó", "o")
Cadena = Replace(Cadena, "Ú", "U")
Cadena = Replace(Cadena, "ú", "u")
SinAcentos = Cadena
End Function

-> y luego 'llamarla' [en tus procedimientos] +/- como sigue...
=SinAcentos(Variable1) = SinAcentos(Variable2)

saludos,
hector.

p.d. si usas excel 97... sustituye las funciones 'Replace' [vba] por 'Application.Substitute'
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida