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 hace 13 horas 13 hr
Buenas tardes, tengo esta macro que encontré en SanGoogle y la adapté a mi proyecto el cual funciona al 100% lo unico que al imprimir en A4 este lo hace en vertical y necesitaria que esta lo haga en horizontal, gracias por adelantado si alguno de los maestros me adaptaria dicha macro.
Private Sub CommandButton5_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
'Elimina hoja y crea hoja dando el mismo nombre que la eliminada
Sheets("DFSHJFDUYDAYRAIUY544TTTOMYDUTGD").Delete
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.name = "DFSHJFDUYDAYRAIUY544TTTOMYDUTGD"
Set A = Sheets("DFSHJFDUYDAYRAIUY544TTTOMYDUTGD")
MsgBox "Esta seguro de imprimir los datos"
For i = 0 To LISTA.ListCount - 1
A.Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 0)
A.Range("B" & Range("B" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 2)
A.Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 3)
A.Range("D" & Range("D" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 4)
A.Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 5)
A.Range("F" & Range("F" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 6)
A.Range("G" & Range("G" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 7)
A.Range("H" & Range("H" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 11)
A.Range("I" & Range("I" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 12)
A.Range("J" & Range("J" & Rows.Count).End(xlUp).Row + 1) = LISTA.List(i, 14)
Next
A.Range("A1") = "PRUEBA DE IMPRESIÓN"
With A.Range("A1:J1")
.Merge
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.RowHeight = 20
.Font.Size = 16
End With
A.Range("A2") = "AAAAAAAA" 'escribimos el encabezado de la columna
A.Range("B2") = "BBBBBBBB"
A.Range("C2") = "CCCCCCCC"
A.Range("D2") = "DDDDDDDD"
A.Range("E2") = "EEEEEEEE"
A.Range("F2") = "FFFFFFFF"
A.Range("G2") = "GGGGGGGG"
A.Range("H2") = "HHHHHHHH"
A.Range("I2") = "IIIIIIIIIII"
A.Range("J2") = "JJJJJJJJ"
uf = A.Range("K" & Rows.Count).End(xlUp).Row
A.Range("B2:K" & uf).NumberFormat = "#.#,0"
A.Range("I2:I" & uf).NumberFormat = "dd/mm/yyyy"
A.Range("A:K").Columns.AutoFit
A.Range("A:A").ColumnWidth = 10
Application.PrintCommunication = True
With ActiveSheet.PageSetup
.PrintArea = "$A$1:$J$" & uf + 4
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Application.PrintCommunication = True
ActiveSheet.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
A.Delete
Sheets("Hoja10").Select
MsgBox "El informe se imprimió con éxito", vbCritical, "AVISO"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub