¿para que sirve la Función Eserr?
La función eserr discrimina los datos de las celdas de la siguiente manera :
Si es un error( #valor,# ref,# div/0,#num,#nombre,#nulo) , da como resultado " VERDADERO" , con excepción del error no aplicable #NA. En este último caso, al igual que con cualquier otro valor o nombre, la función, devuelve, "FALSO".
la función Eserr tiene como argumento a la celda objetivo.
Ejemplo sin macros
Tipo de dato | resultado | |
#¿NOMBRE? | VERDADERO | =ESERR(B2) |
. | FALSO | |
4 | FALSO | |
5 | FALSO | |
#¡DIV/0! | VERDADERO | |
#N/A | FALSO | |
8 | FALSO | |
9 | FALSO | |
10 | FALSO |
Ejemplo de Función Eserr con Macros
La construcción en macros se podría dar con las características IF, THEN, ELSE, GOTO. Construyendo las macros de una forma lógica. A continuación el ejemplo.
Sub macroseserr_ejercicio1()
'esta macro replica la función eserr
ActiveCell.Select
If ActiveCell.Value = Vaiant Then GoTo A Else GoTo B
B:
If ActiveCell.Value = CVErr(xlErrNA) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
If ActiveCell.Value = CVErr(xlErrDiv0) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
ActiveCell.Select
If ActiveCell.Value = CVErr(xlErrNull) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
ActiveCell.Select
If ActiveCell.Value = CVErr(xlErrName) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
ActiveCell.Select
If ActiveCell.Value = CVErr(xlErrRef) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
If ActiveCell.Value = CVErr(xlErrValue) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
End If
If ActiveCell.Value = CVErr(xlErrNum) Then
ActiveCell.Offset(0, 1).Formula = "verdadero"
A:
ActiveCell.Select
ActiveCell.Offset(0, 1).Formula = "falso"
ActiveCell.Select
End If
ActiveCell.Offset(1, 0).Select
End Sub
(Para mayor visualización de la imagen, hacer click en la misma)
Por: Italo Zegarra