De Locos

15/11/2014 - 07:47 por Ignacio Perez | Informe spam
Buenos días,
Tengo un problema con excel tengo textos que no encuentra. Si parece irreal pero os lo puedo asegurar. uso una función para encriptar texto y me devuelve resultados como este: OE~mcjllccji , bueno pues este texto si lo pones en una celda cualquiera y realizas una búsqueda te dice que no esta en la hoja.
Como os podéis imaginar automáticamente tampoco lo encuentran las funciones.
el texto que os pongo arriba es el encriptado de NYK:07990076 y como pista os puedo decir todos los textos que empiecen con los 4 primeros caracteres (NYK:) y se encripten pasan a ser cadenas de texto que excel no encuentra.
la función de encriptado es esta:

Public Function ENCRIPTA(ByVal Word As String, ByVal Key As String, _
Optional ByVal Mode As Boolean = False) As String
Dim w As Long, k As Long, p As Long, j As Long, NuChr As Long
Dim Cd As String, Kd As String, Rd As String
w = Len(Word)
k = Len(Key)
' Modalidad de Encripción...
If Mode = False Then
For j = 1 To w
Cd = Mid(Word, j, 1)
If p = k Then p = 0
p = p + 1
Kd = Mid(Key, p, 1)
NuChr = Asc(Cd) + Asc(Kd)
If NuChr > 255 Then
NuChr = NuChr - 255
End If
Rd = Rd & Chr(NuChr)
Next
ENCRIPTA = Rd
Exit Function
End If
' Modalidad de Dencripción...
If Mode = True Then
For j = 1 To w
Cd = Mid(Word, j, 1)
If p = k Then p = 0
p = p + 1
Kd = Mid(Key, p, 1)
NuChr = Asc(Cd) - Asc(Kd)
If NuChr < 0 Then
NuChr = NuChr + 255
End If
Rd = Rd & Chr(NuChr)
Next
ENCRIPTA = Rd
Exit Function
End If
End Function

Ademas de la curiosidad que es esto me gustaría encontrar una función de encriptado que funcionase, valga la redundancia.
 

Leer las respuestas

#1 Ignacio Perez
15/11/2014 - 08:37 | Informe spam
Buenos días otra vez,
Creo que ya sé por donde van los tiros. el carácter ~ es un carácter "reservado" para excel y es lo que origina el error en las búsquedas.
Creo que resulta de encriptar la letra K.
¿Se puede modificar el código para que excluya este carácter en las encriptaciones/desencriptaciones?¿existe algún otro carácter que pueda dar este tipo de problemas?, gracias.

Preguntas similares