lunes, 5 de septiembre de 2016

Implementar una función matematica en excel con VB Macros

https://tecdigital.tec.ac.cr/revistamatematica/cursos-linea/NUMERICO/excel/node15.html

Ejemplo 1: implementar una función.


Vamos a implementar como una macro la función con la que se trabajó previamente:

\begin{displaymath}f(x) = 2 x^3+\ln (x) - \frac{\cos (x) }{e^x } + \mbox{sen} (x) \end{displaymath}

Para su definición y utilización, se siguen los pasos:

  1. Ingresamos al menú y en la opción Herramientas seleccionamos Macros. Luego se elige Editor de Visual Basic:
     Figura 7. Primeros pasos para la definición de una macro.
    También puede usar Alt - F11


  2. Nuevamente, en el menú de la ventana que se abre, se elige Insertar, para luego seleccionar Módulo:

    Figura 8.  Se inserta un módulo en el que se escribirá el código de las macros.


  3. Ahora en la pantalla de edición del módulo, escribimos el siguiente código:

      Function f(x)
        f = 2 * x ^ 3 + Log(x) - Cos(x) / Exp(x) + Sin(x)
      End Function



    Figura 9. Escritura del código de una macro.



  4. Una vez que ha sido editado el código del macro, se salva y salimos del ambiente de programación en Visual Basic para volver a la hoja electrónica de donde partimos. Esto se hace en el menú Archivo, seleccionando Cerrar y Volver a Excel.
  5. Para evaluar la función $f(x)$ en algunos valores que se localicen, por ejemplo, desde la fila 3 hasta la fila 6 de la columna B, nos situamos en una celda en la que nos interese dejar el resultado de dicha evaluación y se digita +f(B3). Luego se arrastra hasta C6 para copiar la fórmula, quedando:

    Figura 10.Evaluación de una función definida por el usuario.


Nota:
Para conocer con detalle la sintaxis de las funciones matemáticas estándar que se pueden evaluar en Visual Basic, puede usarse la Ayuda del Editor de Visual Basic. Esta sintaxis es un poco diferente a la que maneja Excel para las mismas funciones. Como ya vimos, para implementar la función

\begin{displaymath}f(x) = 2 x^3+\ln (x) - \frac{\cos (x) }{e^x } + \mbox{sen} (x) \end{displaymath}



$\bullet \;$ en Excel la sintaxis es: 2*B3^3+LN(B3)-COS(B3)/EXP(B3)+SENO(B3)

$\bullet \;$ en VBA la sintaxis es 2 * x ^ 3 + Log(x) - Cos(x) / Exp(x) + Sin(x)

Observe, por ejemplo, que la función logaritmo natural $\ln(x)$, en Excel se escribe LN mientras que en VBA se escribe Log.

No hay comentarios:

Publicar un comentario