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.


Hoja inteligente 9.1.1

Hoja inteligente 9.1.1

Smartsheet es una plataforma de trabajo dinámica que le permite gestionar proyectos, crear flujos de trabajo y colaborar con su equipo.

Compartirpunto

Compartirpunto

SharePoint es un sistema de colaboración basado en web que utiliza una variedad de aplicaciones de flujo de trabajo, bases de datos de "listas" y otros componentes web, así como funciones de seguridad para dar control a los grupos empresariales que trabajan juntos.

Calendario perpetuo 1.0.38/1.0.36

Calendario perpetuo 1.0.38/1.0.36

Van Nien Calendar es una aplicación de visualización de calendario en su teléfono, que le ayuda a ver rápidamente la fecha lunisolar en su teléfono, organizando así su importante trabajo.

Outlook 2021

Outlook 2021

Microsoft Outlook es una aplicación empresarial y de productividad desarrollada por Microsoft Corporation.

Haga clic arriba

Haga clic arriba

ClickUp es una de las plataformas de productividad mejor calificadas para cualquier empresa. Grandes empresas como Google, Booking.com, San Diego Padres y Uber utilizan ClickUp para aumentar la productividad en el lugar de trabajo.

Visor de PDF-XChange 2.5.322.10

Visor de PDF-XChange 2.5.322.10

PDF se ha convertido en un formato de uso común para leer, crear y enviar documentos de texto. A su vez, se ha producido un aumento en el número de programas utilizados para este tipo de documentación. PDF-XChange Viewer se encuentra entre un número creciente de visores de PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice ofrece un conjunto completo de aplicaciones de Office que rivalizan con Microsoft 365, especialmente en Excel, PowerPoint y Word. Le permite gestionar sus proyectos de forma más eficaz y admite varios formatos de archivo.

Descargar iTaxviewer 1.8.7

Descargar iTaxviewer 1.8.7

El software iTaxViewer es el software de lectura de archivos XML más popular en la actualidad. Este software es una aplicación de lectura de declaraciones electrónicas de impuestos en formato XML de la Dirección General de Tributación.

Lector de PDF Nitro

Lector de PDF Nitro

Nitro PDF Reader es un práctico editor de PDF que cubre todas las tareas básicas que la mayoría de las personas realizan todos los días con documentos PDF.

Lector Foxit 12

Lector Foxit 12

Foxit Reader es principalmente un lector de PDF y también le permite crear archivos PDF, firmarlos, editarlos y agregar anotaciones. Funciona en sistemas operativos, existen complementos para varios programas del paquete Microsoft Office.