Excel Avanzado

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

Excel Avanzado

Función Si.Error

| 2 comentarios

Sintaxis de la Función Si.Error

La función si.error es una función lógica que permite verificar si la información insertada es correcta. La sintaxis de la fórmula se compone de la siguiente manera:

  • Valor    Obligatorio. Es el argumento donde busca un error.
  • Valor_si_error    Obligatorio. Es el valor que se devuelve si la fórmula se evalúa como un error. Se evalúan los tipos de error siguientes: #N/A, #¡VALOR!, #¡REF!, #¡DIV/0!, #¡NUM!, #¿NOMBRE? o #¡NULO!.

 

Utilidad de la Función Si.Error

I. Validar una condición dada para una base de datos.

Ejemplo: Si queremos que la condición sea obtener un monto  >=35000 el resultado será VERDADERO; caso contrario, debería arrojar como resultado FALSO.

Función Si.Error 01

II. Validar la veracidad de una fórmula

La función también permite verificar la validez de una fórmula. Si es falso, devuelve el valor especificado si la fórmula contiene algún error; de lo contrario, devuelve el resultado de la fórmula.

Ejemplo: Insertamos la fórmula "=SI.ERROR(BUSCARV('BD Personal'!$B17,'BD Personal'!$B$2:$L$401,9,FALSO), "Errado")"  Si la fórmula está bien planteada arrojará como resultado el local asignado según la base de datos. De lo contrario, arrojará la palabra "Errado".

Si.Error para verificar fórmulas

Si.Error para verificar fórmulas

Función Si.Error con Macros

Para la realización de las mismas funciones con el uso de Macros utilizamos el grabador de macros e insertamos las siguientes fórmulas:

- Función 1: "=SI.ERROR(E5>=35000," ")"

- Función 2: "=SI.ERROR(BUSCARV('BD Personal'!$B17,'BD Personal'!$B$2:$L$401,9,FALSO), "Errado")"

- Función 3:  "=SI.ERROR(BUSCARV('BD Personal'!$B17,'BD Personal'!$B$2:$L$401,99,FALSO), "Errado")" Se agregó la cifra 99 para que el resultado sea errado y la macros lo pueda reflejar.

Una vez insertadas estas fórmulas las configuramos para poder realizar la función macro con el uso del teclado, de manera que quedaría así:

Función Si.Error 03

Posteriormente, es necesario depurar la información innecesaria en el código de cada función.

Función Si.Error 04

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

De esta manera, al ejecutar la función macro la celda no se ubicará en la celda posterior inmediata en la que se ubicó la primera vez que configuramos las fórmulas. Por lo cual, ya tenemos lista nuestras funciones Macro para aplicarla sobre nuestra base de datos.

Dejo adjunto el documento en excel con las fórmulas aplicadas con Macros y sin Macros:  Función Si.Error

¡Muchas Gracias!

Edwin Cáceres Silva

2 comentarios

  1. Hola, tengo un pequeño problema con un código que estoy haciendo en VBA y espero que podáis ayudarme.

    No es exactamente con SI.ERROR pero si con la que debería ser su homónima en VBA WorksheetFunction.IfError

    Tengo hacer que en F5 me muestre el resultado de la división de D5 entre B5 y si hay error devolver 0, pero cuando B5 es 0 la función falla.

    Worksheets(HojaActiva).Range("F5").Value = Application.WorksheetFunction.IfError(Range("D5") / Range("B5"), 0)

    Sin embargo, si uso lo siguiente funciona perfectamente.

    Worksheets(HojaActiva).Range("F5").Formula = "=IFERROR(D5/B5,0)"

    Esta no me sirve porque lo que necesito es que devuelva el resultado no que se vea la formula.

    Espero haberme explicado y que podáis decirme que estoy haciendo mal.

    Un saludo,

  2. excelente informacion

Deja una respuesta

Los campos requeridos estan marcados con *.