validar rut
Este proceimiento puede ayudarte, funciona en un formulario específico, peo puedes adaptarlo.
Private Sub Texto0_Exit(Cancel As Integer)
Dim FormuRut As Form_CalculoRut
Dim Digitod(8) As Variant
With Form_CalculoRut
Rut = CStr(.Texto0.Value)
LRut = Len(Rut)
For n = 1 To LRut
Digitod(n) = Mid(Rut, LRut - n + 1, 1)
If n <= 6 Then
Rvalor = Val(Digitod(n)) * (n + 1)
Else
Rvalor = Val(Digitod(n)) * (n - 5)
End If
Suma = Suma + Rvalor
Next
DSuma = Round(((Suma / 11) - Int(Suma / 11)) * 11, 0)
RDv = DSuma - 11
RDv = RDv * -1
If RDv = 10 Then RDv = "K"
If RDv = 11 Then RDv = 0
.Texto2.Value = RDv
End With
End Sub
Private Sub Texto0_Exit(Cancel As Integer)
Dim FormuRut As Form_CalculoRut
Dim Digitod(8) As Variant
With Form_CalculoRut
Rut = CStr(.Texto0.Value)
LRut = Len(Rut)
For n = 1 To LRut
Digitod(n) = Mid(Rut, LRut - n + 1, 1)
If n <= 6 Then
Rvalor = Val(Digitod(n)) * (n + 1)
Else
Rvalor = Val(Digitod(n)) * (n - 5)
End If
Suma = Suma + Rvalor
Next
DSuma = Round(((Suma / 11) - Int(Suma / 11)) * 11, 0)
RDv = DSuma - 11
RDv = RDv * -1
If RDv = 10 Then RDv = "K"
If RDv = 11 Then RDv = 0
.Texto2.Value = RDv
End With
End Sub
