Solo letras, regla de validación
Tengo la siguiente función colocada como regla de validación en un cuadro de texto APELLIDOS, para avisarle al usuario que sólo puede escribir letras en ese campo:
Function IsAlpha(mystring As String)
Dim LoopVar As Integer
Dim SingleChar As String
LoopVar = 1
If IsNull(mystring) Then
IsAlpha = True
Exit Function
End If
For LoopVar = 1 To Len(mystring)
SingleChar = UCase(Mid$(mystring, LoopVar, 1))
If SingleChar < "A" Or SingleChar > "Z" Then
IsAlpha = False
Exit Function
End If
Next LoopVar
IsAlpha = True
End Function
El problema que tengo es que en dicho campo APELLIDOS en donde hay más de un apellido, marca que no cumple la regla de validación. Por ejemplo si los apellidos son "PEREZ GALDOS" no se cumple la regla de validación, si lo escribo "PEREZGALDOS" entonces si cumple la regla. La pregunta: cómo puedo hacer para que la función revise los apellidos por separado (2 ó más o los que sean), es decir que yo escriba "PERES GALDOS" y cumpla la regla pero si escribo "PEREZ GAL;OZ" (por ejemplo al incluir una no letra) no la cumpla.
Function IsAlpha(mystring As String)
Dim LoopVar As Integer
Dim SingleChar As String
LoopVar = 1
If IsNull(mystring) Then
IsAlpha = True
Exit Function
End If
For LoopVar = 1 To Len(mystring)
SingleChar = UCase(Mid$(mystring, LoopVar, 1))
If SingleChar < "A" Or SingleChar > "Z" Then
IsAlpha = False
Exit Function
End If
Next LoopVar
IsAlpha = True
End Function
El problema que tengo es que en dicho campo APELLIDOS en donde hay más de un apellido, marca que no cumple la regla de validación. Por ejemplo si los apellidos son "PEREZ GALDOS" no se cumple la regla de validación, si lo escribo "PEREZGALDOS" entonces si cumple la regla. La pregunta: cómo puedo hacer para que la función revise los apellidos por separado (2 ó más o los que sean), es decir que yo escriba "PERES GALDOS" y cumpla la regla pero si escribo "PEREZ GAL;OZ" (por ejemplo al incluir una no letra) no la cumpla.
1 Respuesta
Respuesta de asturcon3
1