Ir al contenido principal

Seminario Macros Excel Gratuito 12ª Entrega (Funciones integradas de VBA)

El uso de funciones es la forma más elegante de programar así como interesante por la gran reutilización que ello conlleva, y además que Excel nos permite crear nuestras propias funciones o funciones definidas por el usuario usando como hemos visto anteriormente los procedimientos Function, el dispone de una serie de funciones integradas que podemos utilizar en nuestros procedimientos.

Por ejemplo disponemos de las siguientes:

  • InputBox
  • MsgBox
  • Funciones de conversión de tipo como Cbool, Cbyte, Cint...
  • Funciones de Comprobación como IsDate, IsNumeric, IsNull, ....
  • Funciones Matemáticas como Abs, Int, Rnd...
  • Funciones de cadena como Len, Chr....
  • Funciones de Fecha y Hora como Date, Now, Time, DateDiff...


Todas estas funciones merecen un amplio estudio pero en esencia la gran mayoría de ellas se usan respondiendo a lo siguiente:

nombreFuncion(argumentos)

Las funciones suelen ser asignadas a variables para por ejemplo comprobar o mostrar cosas.

Veamos un ejemplo:

Creamos un procedimiento llamado ControlEntrada y le solicitamos al usuario que introduzca su nombre en un inputbox y con una variable comprobamos si lo introducido sirve para que pueda acceder al sistema. Usaremos en el ejemplo una estructura de control if que todavia no tenemos que conocer pero que veremos en la siguiente entrega.


Si escribimos CK2020 observaremos un mensaje que nos permite la entrada y el resto de las ordenes realizará la tarea deseada en caso contrario acabará nuestro procedimiento con un mensaje de despedida, por cierto distingue entre mayúsculas y minúsculas.

El aspecto de la petición de entrada es:


Y el aspecto del mensaje en caso afirmativo será:




Comentarios

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil...

Uso del Dolar ($) en Excel

Es uno de los grandes desconocidos de los usuarios de Excel incluso algunos que llevan usando esta herramienta durante un largo periodo de Tiempo. La idea de su uso es evitar que al copiar un fórmula la referencia a una determinad celda cambie. Veamos un ejemplo: Tenemos 6 columnas y en la D una fórmula que multiplica el precio por la cantidad de un producto, si copiamos dicha fórmula se va adaptando a los diferentes productos y hasta aquí todo ok. Pero que pasa si queremos hacer la fórmula del IVA, es decir el 21% del importe bruto. Lo que suele hacer la mayoría de los usuarios que no conocen el uso del $ es hacer la siguiente fórmula en E2: =D2*21% Esto incumple la primera norma de creación de fórmulas que dice: En una fórmula nunca se deben incluir valores constantes salvo que se sepa que nunca van a poder cambiar y el iva es algo que puede y de echo ha variado a lo largo del tiempo. Por lo tanto si queremos hacer una hoja más versátil deberemos colocar el porcentaje de iva en una c...