Visual Basic para Aplicaciones - Comparacion de dos cadenas

Life is soft - evento anual de software empresarial
 
Vista:

Comparacion de dos cadenas

Publicado por Mikel (2 intervenciones) el 10/05/2008 09:08:59
Buenos días,

Me dirijo a alguien con mas experiencia y conocimientos que yo para pedirle, que si le es posible, me indique la forma de salir de este problema que me tiene atascado.
Yo estoy ya retirado y para no quedar al margen de este nuevo mundo de la informática (que me ha "pillado" un poco tarde) y al mismo tiempo para tener "activas" mis viejas células grises, dedico parte de mi tiempo a estudiar VB PARA EXCEL y realizo mediante programas no muy complicados cáculos que en mis años de trabajo activo los realizaba con una calculadora. Naturalmente, como es fácil imaginar, mi formación no es ni la más adecuada ni la mas ordenada.

El tema es el siguiente:

Necesito llevar a cabo una comparación de dos cadenas (strings) que están escritas en dos celdas diferentes. La segunda de estas celdas forma parte de la primera columna de una tabla que puede figurar en la misma hoja o en otra del mismo libro. Si ambas cadenas son iguales, el programa deberá tomar un valor de la tabla que figura en la misma fila que la segunda celda y proseguirá con el cálculo. Tratándose de valores numéricos (en lugar de cadenas) no hubiera tenido ningún problema. La dificultad para mi surge al ser el contenido de las celdas de caracter alfanumérico.

Supongo que para un programador con experiencia mi problema le parecerá poca cosa, pero a mi me tiene atascado. Gracias por anticipado a quie tenga la amabilidad de contestarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparacion de dos cadenas

Publicado por JuanC (243 intervenciones) el 10/05/2008 13:59:14
Para la comparación podés usar una de las siguientes funciones
InStr, StrComp

También podés usar el signo = en un bloque If ... Then

If "cadena1" = "cadena2" Then

Según el caso podés hacer así

Dim sCad1$, sCad2$
sCad1 = "cadena1 "
sCad2 = "Cadena1"

'//Quita blancos y pone todo en minúsculas para evitar 'errores' de tipeo
If Trim(LCase( sCad1)) = Trim(LCase(sCad2)) Then
'//Son iguales
Else
'//No son iguales
End If

También podés usar el signo <> (distinto) en lugar del igual (=)

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar