Cómo utilizar las funciones integradas de VBA de Excel

Cómo utilizar las funciones integradas de VBA de Excel

Excel VBA proporciona numerosas funciones integradas. Algunas de estas funciones de Excel VBA aceptan argumentos y otras no.

Ejemplos de funciones de Excel VBA

Aquí, encontrará algunos ejemplos del uso de funciones de VBA en el código. En muchos de estos ejemplos, la función MsgBox muestra un valor en un cuadro de mensaje. Sí, MsgBox es una función de VBA, bastante inusual, pero una función de todos modos. Esta útil función muestra un mensaje en un cuadro de diálogo y también devuelve un valor.

Visualización de la fecha u hora del sistema

El primer ejemplo usa la función Fecha de VBA para mostrar la fecha actual del sistema en un cuadro de mensaje:

Sub ShowDate ()
  MsgBox "Hoy es:" & Fecha
End Sub

Observe que la función Fecha no usa un argumento. A diferencia de las funciones de la hoja de trabajo, una función de VBA sin argumento no requiere un conjunto vacío de paréntesis. De hecho, si escribe un conjunto vacío de paréntesis, el VBE los elimina rápidamente.

Para obtener la hora del sistema, utilice la función Hora. Y si lo quiere todo, use la función Ahora para devolver tanto la fecha como la hora.

Encontrar una longitud de cuerda

El siguiente procedimiento utiliza la función VBA Len, que devuelve la longitud de una cadena de texto. La función Len toma un argumento: la cadena. Cuando ejecuta este procedimiento, el cuadro de mensaje muestra su nombre y la cantidad de caracteres en su nombre.

Sub GetLength ()
  Atenuar mi nombre como cadena
  Dim StringLength tan largo
  MyName = Application.UserName
  StringLength = Len (Mi nombre)
  MsgBox MyName & "tiene" & StringLength & "caracteres".
End Sub

Cómo utilizar las funciones integradas de VBA de Excel

Calculando la longitud de su nombre.

Excel también tiene una función LEN, que puede usar en las fórmulas de su hoja de trabajo. La versión de Excel y la función VBA funcionan igual.

Visualización del nombre de un mes

El siguiente procedimiento utiliza la función MonthName, que devuelve el nombre de un mes. MonthName usa un argumento: un número entero entre 1 y 12.

Sub ShowMonthName ()
  Atenuar este mes tanto tiempo
  ThisMonth = Mes (Fecha)
  MsgBox MonthName (ThisMonth)
End Sub

Este procedimiento usa la función Month para obtener el mes actual (como un valor), y este valor se asigna a la variable ThisMonth. Luego, la función MonthName convierte el valor en texto. Entonces, si ejecuta este procedimiento en abril, el cuadro de mensaje muestra el texto Abril.

En realidad, la variable ThisMonth no es necesaria. Puede obtener el mismo efecto con esta expresión, que usa tres funciones de VBA:

MonthName (Mes (Fecha))

Aquí, la fecha actual se pasa como argumento a la función Month, que devuelve un valor que se pasa como argumento a la función MonthName.

Determinar el tamaño de un archivo

El siguiente procedimiento Sub muestra el tamaño, en bytes, del archivo ejecutable de Excel. Encuentra este valor usando la función FileLen:

Sub GetFileSize ()
  Atenuar el archivo como cadena
  TheFile = "C: \ Archivos de programa (x86) \ Microsoft Office \ root \ Office16 \ EXCEL.EXE"
  MsgBox FileLen (TheFile)
End Sub

Observe que esta rutina codifica de forma rígida el nombre del archivo (es decir, indica explícitamente la ruta). No es buena idea. Es posible que el archivo no esté en la unidad C o que la carpeta de Excel tenga un nombre diferente. La siguiente declaración muestra un mejor enfoque:

TheFile = Application.Path & "\ EXCEL.EXE"

La ruta es una propiedad del objeto Aplicación. Simplemente devuelve el nombre de la carpeta en la que está instalada la aplicación (es decir, Excel) (sin una barra invertida al final).

Identificar el tipo de un objeto seleccionado

El siguiente procedimiento utiliza la función TypeName, que devuelve el tipo de selección en la hoja de trabajo (como una cadena):

Sub ShowSelectionType ()
  Dim SelType como cadena
  SelType = TypeName (Selección)
  MsgBox SelType
End Sub

La selección puede ser un rango, una imagen, un rectángulo, un área de gráfico o cualquier otro tipo de objeto que se pueda seleccionar.

La función TypeName es muy versátil. También puede utilizar esta función para determinar el tipo de datos de una variable.

Funciones de Excel VBA que hacen más que devolver un valor

Algunas funciones de VBA van más allá del llamado del deber. En lugar de simplemente devolver un valor, estas funciones tienen algunos efectos secundarios útiles.

Funciones de VBA con beneficios secundarios útiles

Función Que hace
MsgBox Muestra un cuadro de diálogo útil que contiene un mensaje y botones. La función devuelve un código que identifica en qué botón hace clic el usuario.
InputBox Displays a simple dialog box that asks the user for some input. The function returns whatever the user enters in the dialog box.
Shell Executes another program. The function returns the task ID (a unique identifier) of the other program (or an error if the function can’t start the other program).

Discovering Excel VBA functions

How do you find out which functions VBA provides? Good question. The best source is the Excel VBA system. Another way is to type VBA, followed by a period. You get a list of items. Those with a green icon are functions. If this feature isn’t working, choose VBE’s Tools → Options, click the Editor tab, and place a check next to Auto List Members.

Cómo utilizar las funciones integradas de VBA de Excel

A way to display a list of VBA functions.

There are over 140 different functions available in VBA. Some are so specialized and obscure, you’ll never need them. Others, however, are quite useful for many applications.

Excel VBA’s Most Useful Built-In Functions

Function What It Does
Abs Returns a number’s absolute value
Array Returns a variant containing an array
Choose Returns a value from a list of items
Chr Converts an ANSI value to a string
CurDir Returns the current path
Date Returns the current system date
DateAdd Returns a date to which a specified time interval has been added — for example, one month from a particular date
DateDiff Returns an integer showing the number of specified time intervals between two dates — for example, the number of months between now and your birthday
DatePart Returns an integer containing the specified part of a given date — for example, a date’s day of the year
DateSerial Converts a date to a serial number
DateValue Converts a string to a date
Day Returns the day of the month from a date value
Dir Returns the name of a file or directory that matches a pattern
Err Returns the error number of an error condition
Error Returns the error message that corresponds to an error number
Exp Returns the base of the natural logarithm (e) raised to a power
FileLen Returns the number of bytes in a file
Fix Returns a number’s integer portion
Format Displays an expression in a particular format
GetSetting Returns a value from the Windows registry
Hour Returns the hour portion of a time
InputBox Displays a box to prompt a user for input
InStr Returns the position of a string within another string (counting from the start)
InStrRev Returns the position of a string within another string (counting from the end)
Int Returns the integer portion of a number
IsArray Devuelve True si una variable es una matriz
IsDate Devuelve True si una expresión es una fecha
Esta vacio Devuelve True si una variable no se ha inicializado
IsError Devuelve True si una expresión es un valor de error
Está perdido Devuelve True si no se pasó un argumento opcional a un procedimiento
Es nulo Devuelve True si una expresión no contiene datos válidos
IsNumeric Devuelve True si una expresión se puede evaluar como un número
LBound Devuelve el subíndice más pequeño para una dimensión de una matriz.
LCase Devuelve una cadena convertida a minúsculas.
Izquierda Devuelve un número especificado de caracteres desde la izquierda de una cadena.
Len Devuelve el número de caracteres de una cadena.
Medio Devuelve un número específico de caracteres de una cadena.
Minuto Devuelve la porción de minutos de un valor de tiempo.
Mes Devuelve el mes a partir de un valor de fecha.
MsgBox Muestra un cuadro de mensaje y (opcionalmente) devuelve un valor.
Ahora Devuelve la fecha y hora actual del sistema.
Reemplazar Reemplaza una subcadena en una cadena con otra subcadena
RGB Devuelve un valor RGB numérico que representa un color.
Correcto Devuelve un número especificado de caracteres desde la derecha de una cadena.
Rnd Devuelve un número aleatorio entre 0 y 1.
Segundo Devuelve la parte de segundos de un valor de tiempo.
Cáscara Ejecuta un programa ejecutable
Espacio Devuelve una cadena con un número específico de espacios.
Separar Divide una cadena en partes, usando un carácter delimitador
Sqr Devuelve la raíz cuadrada de un número.
Cuerda Devuelve un carácter o una cadena que se repite
Tiempo Devuelve la hora actual del sistema.
Temporizador Devuelve el número de segundos desde la medianoche.
TimeSerial Devuelve la hora de una hora, minuto y segundo especificados.
Valor del tiempo Convierte una cadena en un número de serie de tiempo
Podar Devuelve una cadena sin espacios iniciales o finales
Escribe un nombre Devuelve una cadena que describe el tipo de datos de una variable.
UBound Devuelve el subíndice más grande disponible para la dimensión de una matriz.
UCase Convierte una cadena en mayúsculas
Val Devuelve los números contenidos en una cadena.
Día laborable Devuelve un número que representa un día de la semana.
Año Devuelve el año a partir de un valor de fecha.

Para obtener detalles completos sobre una función de Excel VBA en particular , escriba el nombre de la función en un módulo VBA, mueva el cursor a cualquier parte del texto y presione F1.


Cómo programar una reunión de Skype

Cómo programar una reunión de Skype

Aprenda a programar reuniones efectivas en Skype Empresarial desde Outlook o la aplicación de Skype. Siga nuestros sencillos pasos para una mejor colaboración.

Cómo usar Pegado especial en Excel 2016

Cómo usar Pegado especial en Excel 2016

Aprende a usar la función de Pegado Especial en Excel 2016 para optimizar la forma en que insertas datos en tus hojas de cálculo. Controla qué información se pega y realiza operaciones matemáticas simples con facilidad.

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Descubre las funciones de Excel para convertir entre binario, octal, decimal y hexadecimal con esta tabla informativa y consejos útiles para optimizar tu trabajo.

Instalar y activar un complemento de Power Query de Excel

Instalar y activar un complemento de Power Query de Excel

Completa guía sobre cómo instalar y activar el complemento de Power Query en Excel 2010 y 2013, y su uso en Excel 2016. Aprende a gestionar datos de manera efectiva en Excel.

Access 2019: Cómo editar y modificar una base de datos de Access

Access 2019: Cómo editar y modificar una base de datos de Access

Aprende a modificar y editar bases de datos en Access 2019, incluyendo cómo nombrar campos, agregar y eliminar campos, y definir tipos de datos. ¡Optimiza tu trabajo con Access!

Cómo usar el comando Ir a en Word 2016

Cómo usar el comando Ir a en Word 2016

El comando Ir a en Word 2016 es una herramienta poderosa para navegar rápidamente a una página específica o a elementos dentro del documento. Aprende a optimizar tu flujo de trabajo con este práctico comando.

Cómo resaltar fechas de fin de semana en Excel

Cómo resaltar fechas de fin de semana en Excel

Aprende cómo resaltar fechas de fin de semana en Excel utilizando formato condicional para mejorar la gestión de tus datos de programación.

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Aprenda a insertar un hipervínculo "mailto" en Excel 2010 para crear correos electrónicos de manera simple y eficiente.

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Aprenda a utilizar las opciones de pegado y Pegado especial en Word 2007 para manejar eficazmente bloques de texto. Optimizando su formato y presentación.

Cómo modificar un gráfico SmartArt en PowerPoint

Cómo modificar un gráfico SmartArt en PowerPoint

Descubre cómo modificar un gráfico SmartArt en PowerPoint incluyendo cambios de diseño, estructura y texto. Mejora tus presentaciones con estos consejos SEO.