Operadores VBA y funciones integradas

Declaraciones de Excel VBA

Al escribir código VBA en Excel, se utiliza un conjunto de operadores integrados en cada paso. Estos operadores se dividen en operadores matemáticos, de cadena, de comparación y lógicos. A continuación, veremos cada grupo de operadores en detalle.

Operadores matemáticos

Los principales operadores matemáticos de VBA se enumeran en la siguiente tabla.

La columna derecha de la tabla muestra la precedencia predeterminada del operador en ausencia de paréntesis. Al agregar paréntesis a una expresión, puede cambiar el orden en que se ejecutan las declaraciones de VBA como desee.

Operadorla columna Acciónlista de prioridades

(1 – más alto; 5 – más bajo)

^operador de exponenciación1
*operador de multiplicación2
/operador de división2
División sin resto: devuelve el resultado de dividir dos números sin resto. Por ejemplo, 74 devolverá el resultado 13
CourageOperador Modulo (resto): devuelve el resto después de dividir dos números. Por ejemplo, 8 contra 3 devolverá el resultado 2.4
+Operador de suma5
-operador de resta5

Operadores de cadenas

El operador de cadena básico en Excel VBA es el operador de concatenación & (unir):

Operadorla columna Acción
&operador de concatenación Por ejemplo, la expresión «A» y «B» devolverá el resultado AB.

Operadores de comparación

Los operadores de comparación se utilizan para comparar dos números o cadenas y devolver un valor booleano de tipo Boolean (Verdadero o falso). Los principales operadores de comparación de Excel VBA se enumeran en esta tabla:

Operadorla columna Acción
=Igualmente
<>No es igual
<Menos
>Больше
<=Menor o igual
>=Mayor que o igual

Operadores logicos

Los operadores lógicos, como los operadores de comparación, devuelven un valor booleano de tipo Boolean (Verdadero o falso). Los principales operadores lógicos de Excel VBA se enumeran en la siguiente tabla:

Operadorla columna Acción
Y operación de conjunción, operador lógico И. Por ejemplo, la expresión A y B regresará ¿Editas con tu equipo de forma remota?, Si A и B ambos son iguales ¿Editas con tu equipo de forma remota?, de lo contrario regresa Falso.
OrOperación de disyunción, operador lógico OR. Por ejemplo, la expresión A o B regresará ¿Editas con tu equipo de forma remota?, Si A or B son iguales ¿Editas con tu equipo de forma remota?y volveremos Falso, Si A и B ambos son iguales Falso.
NoOperación de negación, operador lógico NO. Por ejemplo, la expresión No un regresará ¿Editas con tu equipo de forma remota?, Si A igualmente Falsoo volver Falso, Si A igualmente ¿Editas con tu equipo de forma remota?.

La tabla anterior no enumera todos los operadores lógicos disponibles en VBA. Puede encontrar una lista completa de operadores lógicos en el Centro de desarrolladores de Visual Basic.

Funciones integradas

Hay muchas funciones integradas disponibles en VBA que se pueden usar al escribir código. A continuación se enumeran algunos de los más utilizados:

Funciónla columna Acción
AbsDevuelve el valor absoluto del número dado.

Ejemplo:

  • abdominales (-20) devuelve el valor 20;
  • Abdominales(20) devuelve el valor 20.
ChrDevuelve el carácter ANSI correspondiente al valor numérico del parámetro.

Ejemplo:

  • Cr(10) devuelve un salto de línea;
  • Cr(97) devuelve un caracter a.
FechaDevuelve la fecha actual del sistema.
FechaAñadirAñade un intervalo de tiempo especificado a la fecha dada. Sintaxis de la función:

DateAdd(интервал, число, дата)

donde esta el argumento intervalo determina el tipo de intervalo de tiempo agregado al dado datos en la cantidad especificada en el argumento número.

Argumento intervalo puede tomar uno de los siguientes valores:

IntervaloValor
aaaaaño
qtrimestre
mmes
ydía del año
ddía
wdía de la semana
wwsemana
hhoras.
nminuto
ssegundo

Ejemplo:

  • FechaAñadir(«d», 32, «01/01/2015») suma 32 días a la fecha 01/01/2015 y por lo tanto devuelve la fecha 02/02/2015.
  • FechaAñadir(«ww», 36, «01/01/2015») suma 36 semanas a la fecha 01/01/2015 y devuelve la fecha 09/09/2015.
DatediffCalcula el número de intervalos de tiempo especificados entre dos fechas dadas.

Ejemplo:

  • DateDiff(«d», «01/01/2015», «02/02/2015») calcula el número de días entre el 01/01/2015 y el 02/02/2015, devuelve 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») calcula el número de semanas entre el 01/01/2015 y el 03/03/2016, devuelve 61.
DíaDevuelve un entero correspondiente al día del mes en la fecha dada.

Ejemplo: Día(«29/01/2015») devuelve el número 29.

horas.Devuelve un número entero correspondiente al número de horas en el momento dado.

Ejemplo: Hora(«22:45:00») devuelve el número 22.

InStrToma un número entero y dos cadenas como argumentos. Devuelve la posición de aparición de la segunda cadena dentro de la primera, comenzando la búsqueda en la posición dada por un número entero.

Ejemplo:

  • InStr(1, “Aquí está la palabra buscada”, “palabra”) devuelve el número 13.
  • InStr(14, “Aquí está la palabra de búsqueda, y aquí hay otra palabra de búsqueda”, “palabra”) devuelve el número 38.

Nota: Es posible que no se especifique el argumento numérico, en cuyo caso la búsqueda comienza desde el primer carácter de la cadena especificada en el segundo argumento de la función.

Int.Devuelve la parte entera del número dado.

Ejemplo: Ent(5.79) devuelve el resultado 5.

fechaReturns ¿Editas con tu equipo de forma remota?si el valor dado es una fecha, o Falso – si la fecha no lo es.

Ejemplo:

  • EsFecha(«01/01/2015») devoluciones ¿Editas con tu equipo de forma remota?;
  • EsFecha(100) devoluciones Falso.
es un errorReturns ¿Editas con tu equipo de forma remota?si el valor dado es un error, o Falso – si no es un error.
Está perdidoEl nombre de un argumento de procedimiento opcional se pasa como argumento a la función. Está perdido devoluciones ¿Editas con tu equipo de forma remota?si no se pasó ningún valor para el argumento del procedimiento en cuestión.
IsnumericReturns ¿Editas con tu equipo de forma remota?si el valor dado se puede tratar como un número, de lo contrario devuelve Falso.
UnidadesDevuelve el número especificado de caracteres desde el principio de la cadena dada. La sintaxis de la función es así:

Left(строка, длина)

donde línea es la cadena original, y de largo es el número de caracteres a devolver, contando desde el principio de la cadena.

Ejemplo:

  • Izquierda(“abvgdejziklmn”, 4) devuelve la cadena “abcg”;
  • Izquierda(“abvgdejziklmn”, 1) devuelve la cadena "a".
LenDevuelve el número de caracteres de una cadena.

Ejemplo: Len(“abcdej”) devuelve el número 7.

MesDevuelve un entero correspondiente al mes de la fecha dada.

Ejemplo: Mes(«29/01/2015») devuelve el valor 1.

MidDevuelve el número especificado de caracteres desde la mitad de la cadena dada. Sintaxis de la función:

Medio(línea, comienzo, de largo)

donde línea es la cadena original comienzo – la posición del comienzo de la cadena que se va a extraer, de largo es el número de caracteres a extraer.

Ejemplo:

  • Medio(“abvgdejziklmn”, 4, 5) devuelve la cadena "dónde";
  • Medio(“abvgdejziklmn”, 10, 2) devuelve la cadena "cl".
MinutosDevuelve un número entero correspondiente a la cantidad de minutos en el tiempo dado. Ejemplo: Minuto(«22:45:15») devuelve el valor 45.
AhoraDevuelve la fecha y hora actual del sistema.
DerechaDevuelve el número especificado de caracteres desde el final de la cadena dada. Sintaxis de la función:

Derecha(línea, de largo)

Cuando la línea es la cadena original, y de largo es el número de caracteres a extraer, contando desde el final de la cadena dada.

Ejemplo:

  • Derecha(«abvgdezhziklmn», 4) devuelve la cadena “clmn”;
  • Derecha(«abvgdezhziklmn», 1) devuelve la cadena "n".
SegundoDevuelve un número entero correspondiente al número de segundos en el tiempo dado.

Ejemplo: Segundo(«22:45:15») devuelve el valor 15.

cuadradosDevuelve la raíz cuadrada del valor numérico pasado en el argumento.

Ejemplo:

  • Cuadrado(4) devuelve el valor 2;
  • Cuadrado(16) devuelve el valor 4.
HorarioDevuelve la hora actual del sistema.
UboundDevuelve el superíndice de la dimensión de matriz especificada.

Nota: Para arreglos multidimensionales, un argumento opcional puede ser el índice de qué dimensión devolver. Si no se especifica, el valor predeterminado es 1.

añoDevuelve un entero correspondiente al año de la fecha dada. Ejemplo: Año(«29/01/2015») devuelve el valor 2015.

Esta lista incluye solo una selección de las funciones integradas de Excel Visual Basic más utilizadas. Puede encontrar una lista exhaustiva de las funciones de VBA disponibles para su uso en macros de Excel en el Centro de desarrolladores de Visual Basic.

Deje un comentario