Código Validar Rut en Chile y ...
Publicado por Waldo Christian (12 intervenciones) el 20/08/2005 23:16:08
Como validar rut desde un formulario y mantener el foco del cuadro de texto hasta que este sea correcto.
Valora esta pregunta
0
Function ValidarRUT(rut As String) As Boolean
Dim rutNumerico As Long
Dim rutDV As String
Dim factor As Integer
Dim suma As Long
Dim dvCalculado As String
' Eliminar puntos y guión del RUT
rut = Replace(rut, ".", "")
rut = Replace(rut, "-", "")
' Obtener número y dígito verificador
rutNumerico = Val(Left(rut, Len(rut) - 1))
rutDV = Right(rut, 1)
' Calcular dígito verificador
suma = 0
factor = 2
Do While rutNumerico > 0
suma = suma + (rutNumerico Mod 10) * factor
rutNumerico = rutNumerico \ 10
factor = factor + 1
If factor > 7 Then factor = 2
Loop
dvCalculado = CStr(11 - (suma Mod 11))
If dvCalculado = "10" Then dvCalculado = "K"
If dvCalculado = "11" Then dvCalculado = "0"
' Comparar dígito verificador calculado con el ingresado
ValidarRUT = (UCase(dvCalculado) = UCase(rutDV))
End Function
Private Sub btnValidar_Click()
Dim rut As String
' Obtener el valor ingresado en el cuadro de texto
rut = Me.txtRUT.Value
' Validar el RUT utilizando la función ValidarRUT
If ValidarRUT(rut) Then
' RUT válido, realizar acciones necesarias
MsgBox "RUT válido"
Else
' RUT inválido, mostrar mensaje de error y mantener el foco en el cuadro de texto
MsgBox "RUT inválido"
Me.txtRUT.SetFocus
End If
End Sub