Hay muchas formas de usar funciones en VBA. VBA viene cargado con muchas funciones integradas. Incluso puede crear sus propias funciones (UDF). Sin embargo, también puede utilizar muchas de las funciones de Excel en VBA mediante Application.WorksheetFunction.
Cómo usar las funciones de la hoja de trabajo en VBA
Para acceder a una función de Excel en VBA, agregue Application.WorksheetFunction delante de la función que desea llamar. En el siguiente ejemplo, llamaremos a la función Max de Excel:
12 | Dim maxvalue siempre quemaxvalue = Application.WorksheetFunction.Max (Rango ("a1"). Valor, Rango ("a2"). Valor) |
La sintaxis de las funciones es la misma, sin embargo, ingresará los argumentos de la función como lo haría con cualquier otra función de VBA.
Observe que la sintaxis de la función Max aparece cuando escribe (similar a las funciones de VBA):
Método de función de hoja de trabajo
WorksheetFunction es un método de objeto Application. Le permite acceder a muchas (no todas) de las funciones estándar de la hoja de cálculo de Excel. Por lo general, no obtendrá acceso a ninguna función de la hoja de trabajo que tenga una versión de VBA correspondiente.
Puede ver una lista de muchas de las funciones de hoja de trabajo más comunes a continuación.
Aplicación, hoja de trabajo, función frente a aplicación
En realidad, hay dos formas de acceder a estas funciones:
Application.WorksheetFunction (como se ve arriba):
1 | maxvalue = Application.WorksheetFunction.Max (Rango ("a1"). Valor, Rango ("a2"). Valor) |
o puede omitir la WorksheetFunction
1 | maxvalue = Aplicación.Max (Rango ("a1"). Valor, Rango ("a2"). Valor) |
Desafortunadamente, omitir WorksheetFunction eliminará el Intellisense que muestra la sintaxis (vea la imagen de arriba). Sin embargo, tiene una gran ventaja potencial: Manejo de errores.
Si usa Aplicación y su función genera un error, devolverá el valor de error. Si usa el método WorksheetFunction, VBA arrojará un error de tiempo de ejecución. Por supuesto, puede manejar el error de VBA, pero generalmente es mejor evitar el error en primer lugar.
Veamos un ejemplo para ver la diferencia:
Manejo de errores de la función de hoja de trabajo de Vlookup
Intentaremos realizar un Vlookup que no resultará en una coincidencia. Entonces, la función Vlookup devolverá un error.
Primero, usaremos el método WorksheetFunction. Observe cómo VBA arroja un error:
A continuación, omitimos WorksheetFunction. Note como el
A continuación, omitiremos WorksheetFunction. Observe cómo no se arroja ningún error y, en cambio, la función "valor" contiene el valor de error de Vlookup.
Lista de funciones de la hoja de trabajo de VBA
A continuación, encontrará una lista de la mayoría de las funciones comunes de la hoja de trabajo de VBA.
Función | Descripción |
---|---|
Lógico | |
Y | Comprueba si se cumplen todas las condiciones. VERDADERO FALSO |
SI | Si se cumple la condición, haga algo, si no, haga otra cosa. |
SI ERROR | Si el resultado es un error, haga otra cosa. |
O | Comprueba si se cumplen las condiciones. VERDADERO FALSO |
Búsqueda y referencia | |
ESCOGER | Elige un valor de una lista en función de su número de posición. |
HLOOKUP | Busque un valor en la primera fila y devuelva un valor. |
ÍNDICE | Devuelve un valor basado en sus números de fila y columna. |
BUSCAR | Busca valores de forma horizontal o vertical. |
FÓSFORO | Busca un valor en una lista y devuelve su posición. |
TRANSPONER | Invierte la orientación de un rango de celdas. |
BUSCARV | Busque un valor en la primera columna y devuelva un valor. |
Fecha y hora | |
FECHA | Devuelve una fecha de año, mes y día. |
DATEVALUE | Convierte una fecha almacenada como texto en una fecha válida |
DÍA | Devuelve el día como un número (1-31). |
DÍAS360 | Devuelve días entre 2 fechas en un año de 360 días. |
EDAR | Devuelve una fecha, n meses antes de una fecha de inicio. |
MESES | Devuelve el último día del mes, n meses fuera de la fecha. |
HORA | Devuelve la hora como un número (0-23). |
MINUTO | Devuelve el minuto como un número (0-59). |
MES | Devuelve el mes como un número (1-12). |
DÍAS DE RED | Número de días laborables entre 2 fechas. |
NETWORKDAYS.INTL | Días laborables entre 2 fechas, fines de semana personalizados. |
AHORA | Devuelve la fecha y hora actuales. |
SEGUNDO | Devuelve el segundo como un número (0-59) |
TIEMPO | Devuelve el tiempo de una hora, minuto y segundo. |
VALOR DEL TIEMPO | Convierte una hora almacenada como texto en una hora válida. |
DÍA LABORABLE | Devuelve el día de la semana como un número (1-7). |
WEEKNUM | Devuelve el número de semana en un año (1-52). |
DIA LABORAL | La fecha n días hábiles a partir de una fecha. |
AÑO | Devuelve el año. |
YEARFRAC | Devuelve la fracción de un año entre 2 fechas. |
Ingenieria | |
CONVERTIR | Convierte el número de una unidad a otra. |
Financiero | |
FV | Calcula el valor futuro. |
PV | Calcula el valor actual. |
NPER | Calcula el número total de períodos de pago. |
PMT | Calcula el monto del pago. |
ÍNDICE | Calcula la tasa de interés. |
VPN | Calcula el valor actual neto. |
TIR | La tasa interna de rendimiento de un conjunto de FC periódicas. |
XIRR | La tasa interna de rendimiento de un conjunto de FC no periódicas. |
PRECIO | Calcula el precio de un bono. |
INTRAR | La tasa de interés de un valor totalmente invertido. |
Información | |
ISERR | Pruebe si el valor de la celda es un error, ignora # N / A. VERDADERO FALSO |
ISERROR | Pruebe si el valor de la celda es un error. VERDADERO FALSO |
INCLUSO | Pruebe si el valor de la celda es par. VERDADERO FALSO |
ISLOGICO | Prueba si la celda es lógica (VERDADERO o FALSO). VERDADERO FALSO |
ISNA | Pruebe si el valor de la celda es # N / A. VERDADERO FALSO |
ISNONTEXT | Pruebe si la celda no es texto (las celdas en blanco no son texto). VERDADERO FALSO |
ES NÚMERO | Prueba si la celda es un número. VERDADERO FALSO |
ES IMPAR | Pruebe si el valor de la celda es impar. VERDADERO FALSO |
ISTEXT | Prueba si la celda es texto. VERDADERO FALSO |
ESCRIBE | Devuelve el tipo de valor en una celda. |
Matemáticas | |
abdominales | Calcula el valor absoluto de un número. |
AGREGAR | Definir y realizar cálculos para una base de datos o una lista. |
TECHO | Redondea un número hacia arriba, al múltiplo especificado más cercano. |
COS | Devuelve el coseno de un ángulo. |
GRADOS | Convierte radianes a grados. |
DSUM | Suma los registros de la base de datos que cumplen con ciertos criterios. |
INCLUSO | Redondea al número entero par más cercano. |
Exp | Calcula el valor exponencial de un número dado. |
HECHO | Devuelve el factorial. |
SUELO | Redondea un número hacia abajo, al múltiplo especificado más cercano. |
GCD | Devuelve el máximo común divisor. |
EN T | Redondea un número al número entero más cercano. |
LCM | Devuelve el mínimo común múltiplo. |
LN | Devuelve el logaritmo natural de un número. |
INICIAR SESIÓN | Devuelve el logaritmo de un número a una base especificada. |
LOG10 | Devuelve el logaritmo en base 10 de un número. |
MROUND | Redondea un número a un múltiplo especificado. |
IMPAR | Redondea al entero impar más cercano. |
Pi | El valor de PI. |
PODER | Calcula un número elevado a una potencia. |
PRODUCTO | Multiplica una matriz de números. |
COCIENTE | Devuelve el resultado entero de la división. |
RADIANOS | Convierte un ángulo en radianes. |
AL AZAR ENTRE | Calcula un número aleatorio entre dos números. |
RONDA | Redondea un número a un número específico de dígitos. |
REDONDEAR A LA BAJA | Redondea un número hacia abajo (hacia cero). |
REDONDEO | Redondea un número hacia arriba (alejándose de cero). |
PECADO | Devuelve el seno de un ángulo. |
TOTAL PARCIAL | Devuelve una estadística de resumen para una serie de datos. |
SUMA | Suma números. |
SUMIF | Suma números que cumplen un criterio. |
SUMIFS | Suma números que cumplen varios criterios. |
SUMPRODUCTO | Multiplica matrices de números y suma la matriz resultante. |
BRONCEARSE | Devuelve la tangente de un ángulo. |
Estadisticas | |
PROMEDIO | Números de promedios. |
PROMEDIO SI | Promedio de números que cumplen con un criterio. |
PROMEDIO SI | Promedio de números que cumplen con varios criterios. |
CORREL | Calcula la correlación de dos series. |
CONTAR | Cuenta las celdas que contienen un número. |
COUNTA | Cuente las celdas que no estén en blanco. |
COUNTBLANK | Cuenta las celdas que están en blanco. |
CONTAR | Cuenta las celdas que cumplen un criterio. |
CONTADOS | Cuenta las celdas que cumplen varios criterios. |
PRONÓSTICO | Predecir los valores de y futuros a partir de la línea de tendencia lineal. |
FRECUENCIA | Cuenta los valores que se encuentran dentro de los rangos especificados. |
CRECIMIENTO | Calcula los valores de Y según el crecimiento exponencial. |
INTERCEPTAR | Calcula la intersección en Y para una línea de mejor ajuste. |
GRANDE | Devuelve el k-ésimo valor más grande. |
LINEST | Devuelve estadísticas sobre una línea de tendencia. |
MAX | Devuelve el número más grande. |
MEDIANA | Devuelve el número mediano. |
MIN | Devuelve el número más pequeño. |
MODO | Devuelve el número más común. |
PERCENTIL | Devuelve el percentil k. |
PERCENTILE.INC | Devuelve el percentil k. Donde k es inclusivo. |
PERCENTILE.EXC | Devuelve el percentil k. Donde k es exclusivo. |
CUARTILLA | Devuelve el valor del cuartil especificado. |
CUARTIL.INC | Devuelve el valor del cuartil especificado. Inclusivo. |
CUARTIL.EXC | Devuelve el valor del cuartil especificado. Exclusivo. |
RANGO | Rango de un número dentro de una serie. |
RANK.AVG | Rango de un número dentro de una serie. Promedios. |
RANK.EQ | Rango de un número dentro de una serie. Bromear. |
PENDIENTE | Calcula la pendiente a partir de la regresión lineal. |
PEQUEÑA | Devuelve el k-ésimo valor más pequeño. |
STDEV | Calcula la desviación estándar. |
STDEV.P | Calcula la DE de toda una población. |
STDEV.S | Calcula la DE de una muestra. |
STDEVP | Calcula la DE de toda una población. |
TENDENCIA | Calcula los valores de Y basándose en una línea de tendencia. |
Texto | |
LIMPIO | Elimina todos los caracteres no imprimibles. |
DÓLAR | Convierte un número en texto en formato de moneda. |
ENCONTRAR | Localiza la posición del texto dentro de una celda. Sensible a mayúsculas y minúsculas. |
IZQUIERDA | Trunca el texto varios caracteres de la izquierda. |
LEN | Cuenta el número de caracteres del texto. |
MEDIO | Extrae texto del medio de una celda. |
ADECUADO | Convierte el texto en mayúsculas y minúsculas. |
REEMPLAZAR | Reemplaza el texto según su ubicación. |
REPETIR | Repite el texto varias veces. |
DERECHA | Trunca el texto varios caracteres de la derecha. |
BUSCAR | Localiza la posición del texto dentro de una celda. No distingue entre mayúsculas y minúsculas. |
SUSTITUIR | Busca y reemplaza texto. Distingue mayúsculas y minúsculas. |
TEXTO | Convierte un valor en texto con un formato de número específico. |
PODAR | Elimina todos los espacios adicionales del texto. |