Hola Susana. ¿No puedes usar una Macro? No te preocupes, prueba con esta formula, suponiendo que el IBAN de la cuenta está en A2: =SI(EXTRAE(A2;13;2)=SI(11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)*3&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)=10;1;SI(11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)=11;0;11-RESIDUO(EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");1;1)*1+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");2;1)*2+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");3;1)*4+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");4;1)*8+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");5;1)*5+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");6;1)*10+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");7;1)*9+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");8;1)*7+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");9;1)*3+EXTRAE(TEXTO(EXTRAE(A2;5;4)&EXTRAE(A2;9;4);"0000000000");10;1)*6;11)))&SI(11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)=10;1;SI(11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)=11;0;11-RESIDUO(EXTRAE(EXTRAE(A2;15;10);1;1)*1+EXTRAE(EXTRAE(A2;15;10);2;1)*2+EXTRAE(EXTRAE(A2;15;10);3;1)*4+EXTRAE(EXTRAE(A2;15;10);4;1)*8+EXTRAE(EXTRAE(A2;15;10);5;1)*5+EXTRAE(EXTRAE(A2;15;10);6;1)*10+EXTRAE(EXTRAE(A2;15;10);7;1)*9+EXTRAE(EXTRAE(A2;15;10);8;1)*7+EXTRAE(EXTRAE(A2;15;10);9;1)*3+EXTRAE(EXTRAE(A2;15;10);10;1)*6;11)));"Valido";"Erroneo") ¿Demasiado largo? Bueno, para los que no apreciáis la belleza de la jungla, puedes usar esta otra: =SI(EXTRAE(A2;13;2)=EXTRAE(12345678910;11-RESIDUO(SUMA(EXTRAE(A2;FILA(INDIRECTO("5:12"));1)*(EXTRAE(37498625;FILA(INDIRECTO("1:8"));1)+1));11);1)&EXTRAE(12345678910;11-RESIDUO(SUMA(EXTRAE(DERECHA(A2;10);FILA(INDIRECTO("1:10"));1)*(EXTRAE(0&137498625;FILA(INDIRECTO("1:10"));1)+1));11);1);"Valido";"No Valido") Esta última depende de la versión de tu excel deberás usar Control+Mayusculas+Intro. Saludos.
Por
torquemada , · publicado el sábado a las 15:41 5 días
Buenas
He realizado una tabla para controlar diferentes grupos por donde pasan y el tiempo que tardan. Una vez llegan al último lugar les corresponde un descanso y he puesto una cuenta regresiva y cuando esta termina lanza un mensaje alertando que el tiempo ha terminado. El problema, lo tengo que solo la macro me lo hace en la casilla O2 y yo quiero el rango O2:O119. He probado de diferentes formas pero no lo consigo, que si error de tal.. que si falta objeto... en fin que ya no se que probar. Hace tiempo programaba pero he perdido el hábito y estoy atrancado en esto que tiene que ser fácil pero no atino. Os agracedria vuestras opiniones.
Sub ProgramaCuentaRegresiva()
Dim CuentaRegresiva As Date
CuentaRegresiva = Now + TimeValue("00:00:01")
Application.OnTime CuentaRegresiva, "ProgramaCuenta"
End Sub
Sub ProgramaCuenta()
Dim Cuenta As Range
Set Cuenta = [O2]
Cuenta.Value = Cuenta.Value - TimeSerial(0, 0, 1)
If Cuenta <= 0 Then
MsgBox "Terminó el tiempo de descanso", vbExclamation, "Cuenta Regresiva"
Exit Sub
End If
Call ProgramaCuentaRegresiva
End Sub