Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Eserr

| Sin comentarios

¿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

macrosizb

(Para mayor visualización de la imagen, hacer click en la misma)

 

Por: Italo Zegarra

 

 

Deja una respuesta

Los campos requeridos estan marcados con *.