Buscar símbolos no alfanuméricos en tabla

Tengo un listado de rfc y necesito saber si en la columna A están mal capturados.

Normalmente un rfc (Registro Federac de Causantes) se compone de letras y números, nunca de espacios o símbolos distintos como :

!"#$%&/()=¡?=)(/&*¨][[_:; "tabuladores" o "PIPES"  ° |

Gracias

Anexo Ejemplo.

1 Respuesta

Respuesta
1

Esta Función te cuenta los Caracteres especiales.

Llamala desde el propio Text Box por ejemplo en el BeforeUpdate.

De acerdo al Resultado tu decides que hacer:

Public Function CaracteresEspeciales(ByVal Texto As String) As String
Dim Cadenas() As String
Dim BytCaracter As Byte
Dim I As Long, K As Long
Dim StrPalabra As String
Dim CarCorrectos As Integer, CarIncorrectos As Integer, CarTotales As Integer

CarCorrectos = 0
CarIncorrectos = 0
CarTotales = 0

Cadenas = Split(Texto)

For I = 0 To UBound(Cadenas)
StrPalabra = Cadenas(I)
For K = 1 To Len(StrPalabra)
BytCaracter = Asc(Mid(StrPalabra, K, 1))
Select Case BytCaracter
'Si el carácter es una letra en Mayúscla o Minúscula o Numero
'Solo Recodatorio >> Mayúsculas son: 65 To 90,192 To 197,199 To 221. Numeros son ; 48 To 57
Case 48 To 57, 65 To 90, 97 To 122
CarCorrectos = CarCorrectos + 1
Case Else
CarIncorrectos = CarIncorrectos + 1
End Select
Next K
Next I
CarTotales = CarCorrectos + CarIncorrectos
MsgBox "Hay " & CarTotales & vbCrLf & CarCorrectos & " Caracteres Correctos" & vbCrLf & CarIncorrectos & " CaracteresIncorrectos", vbInformation, "RECUENTO CARACTERES"
End Function

Un saludo

Jacinto

muchas gracias.
pero esta instrccion me evalua toda la columna "A:A"?
suena bien que me diga cuantos caracteres tiene correctos pero en un universo de 15000 registros seria mas practicos que me dijera cuales registros estan mal

por ejemplo

columnaA   ColumnaB         ColumnaC

rfc                    evaluacion        nombre

12345678        ok                      nombre cliente

3456&ddsf      no-ok               nombre cliente

Antes de seguir>> Hablamos de Access o de Excel.

Al leer Columna A interpreté que era una forma de referirte a un campo de una Tabla de Access y lo que buscabas era una Función para colocar en el Evento BeforeUpdate del Control RFC, al entrar los datos.

Mis disculpas.

En cualquier caso, la Función sigue siendo válida si lo que quieres es recorrer un Conjunto de Datos y si quieres que te llene un Campo deberás modificarla.

La información de Caracteres adecuados e inadecuados era lógicamente pensando en que estaría en un Evento del TextBox y a titulo ejemplar.

Se puede sustituir por:

If CarIncorrectos>0 Then

'........Lo que sea Por ejemplo grabar en un Campo.

Else

'....Otra acción

End If

Ya me comentarás, y si puedo ayudarte encantado de hacerlo.

Manuel:Estaba repasando preguntas sin valoración y ésta es una de ellas.
Te agradeceré si la valoras o si necesitas información adicional.
Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas