Hola, tengo el siguiente problema cuando intento comparar estas dos cadenas (CompLiquido2 y CompLiquido), VB las considera diferentes porque al parecer hay un salto de carro
La primera variable, VB la muestra de la siguiente forma:
CompLiquidido2= 0/
0,1/
0,2/
0,3/
0,4/
0,5/
0,6/
0,7/
0,8/
0,9/
0,95/
1/
La segunda variable:
CompLiquido = 0/0,1/0,2/0,3/0,4/0,5/0,6/0,7/0,8/0,9/0,95/1/
He intentado averiaguar si había un caracter no imprimible
Dim Posicion As Integer
Dim Temp As String
For i = 0 To 255
Temp = Chr(i)
Posicion = InStr(CompLiquido, Temp)
If Posicion > 0 Then Debug.Print ("Temp= " & Temp)
Next i
La salida es la siguiente:
Temp= ,
Temp= /
Temp= 0
Temp= 1
Temp= 2
Temp= 3
Temp= 4
Temp= 5
Temp= 6
Temp= 7
Temp= 8
Temp= 9
¿Como puedo eliminar el salto de carro?
Gracias
Bueno el salto de carro en VB es vbCrLf ... pero se me ocurre que seria más fácil que metieras los datos en una matriz... no sé si me explico bien... así podrias comparar los contenidos de cada una con un ciclo simplemente y te evitarias eso ... si no me expliqué bien pues avisas...
un saludo.
prueba con alguno de estos:
Replace "micadena", vbCrLf, ""
Replace "micadena", vbCr, ""
Replace "micadena", vbLf, ""
adiox.
Hola
Pues todo lo que tienes que hacer es buscar vbcrlf en tu string y quitarlo si lo está.
Para ello Instr(cadena$,cstr(vbcrlf))
Si el resultado es distinto de cero ahí tienes la posición donde está así que solo tendrás que hacer
Posicion=instr(0,cadena$,cstr(vbcrlf))
cadena$=left(cadena$,Posicion-1) & right(cadena$,Posicion+1)
Un saludo
Hola, gracias a todos por contestar. Es cierto utilizando la función replace y vbcrlf he conseguido eliminar el salto de carro y que las considere iguales.
También habia podido comparar los elementos 1 a uno utilizando la funcion Split
Split(CompLiquido, "/", -1, 1)
pero me fustraba no saber como eliminar el salto de carro
Gracias de nuevo.