Esto es lo que aparece en wikipedia para el calculo de Rut chileno donde se utiliza un algoritmo llamado el modulo 11 pero lo que necesito es que haga eso en una celda y al escribir el rut me diga si esta bueno o erróneo por validador de datos o algo así en excel, en realidad no se si sea posible que lo haga en una sola celda como cuando ingresamos al servicio de impuestos internos (SII)
"Procedimiento para obtener el dígito verificador[editar]
El RUT consta de dos partes: el número y el dígito verificador separados por un guion. En el siguiente ejemplo se toma como RUT el número 30.686.957-X, donde 30.686.957 es el número del RUT y X es el dígito verificador que no conocemos o que queremos verificar.
- Se procede a tomar el número de RUT de derecha a izquierda, multiplicando cada dígito por los números que componen la serie numérica 2, 3, 4, 5, 6, y 7; y sumando el resultado de estos productos. Si se ha aplicado la serie hasta el final y quedan dígitos por multiplicar, se comienza la serie nuevamente:
7 × 2 = 14,
5 × 3 = 15,
9 × 4 = 36,
6 × 5 = 30,
8 × 6 = 48,
6 × 7 = 42,
0 × 2 = 0,
3 × 3 = 9,
entonces la suma de los productos es: 14+15+36+30+48+42+0+9 = 194
- Al número obtenido por la suma del producto de cada dígito por la serie ya mencionada, se le aplica módulo 11, o sea, se divide por 11 y se determina el resto de la división:
parte entera de (194 : 11) = 17
resto de la división entera: 194 - (11 * 17) = 7
- Ahora a 11 se le resta el resto calculado antes:
11 - 7 = 4
- Al resultado final, se le convierte a una letra o número, siguiendo estas reglas:
- Si el resultado es 11, el dígito verificador será 0 (cero).
- Si el resultado es 10, el dígito verificador será K.
- En otro caso, el resultado será el propio dígito verificador.
Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4.
Por ende, el RUT del ejemplo es el 30.686.957-4."
Fuente: http://es.wikipedia.org/wiki/Rol_%C3%9Anico_Tributario#Procedimiento_para_obtener_el_d.C3.ADgito_verificador
Dejo una solucion que encontreSub DIGITO() rut = InputBox("Ingrese Rut sin Digito ni Puntos", "BUSCA DIGITO") x = Len(rut) a = 0 m = 2 For o = x To 1 Step -1 If m > 7 Then m = 2 End If a = a + Mid(rut, o, 1) * m m = m + 1 Next o a = Round(11 - (((a / 11) - Int(a / 11)) * 11)) If a = 10 Then a = "K" End If Cells(2, 2) = rut & "-" & aEnd Sub - Enrique Zamorano