¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Macros y lenguaje VBA
  3. Operadores
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (nueva edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (nueva edición) Volver a la página de compra del libro

Operadores

Objetivos del capítulo

Hay muchas palabras clave en VBA y los operadores están entre las que más utilizará. Tanto si se usan para realizar operaciones numéricas, pruebas o para comparar valores, es importante entender estos símbolos y palabras clave. En este capítulo se explican los operadores más importantes según su frecuencia de uso, pero también por su prioridad en relación con los demás.

Al final del capítulo, encontrará una serie de ejercicios para practicar.

Operador de asignación =

Varias veces ha podido ver el operador «igual» =, que permite asignar un valor a una variable. 

Cuando se trata de una asignación, el elemento de la izquierda tomará el valor del elemento de la derecha del operador =.

Cuando se trata de una prueba para una condición, el operador se utiliza para comprobar la igualdad, como se verá en la siguiente sección.

Operadores aritméticos

Cuando se trata de realizar cálculos sobre valores numéricos, pensará instintivamente en los cuatro símbolos de operación de su teclado o calculadora (+ - * /), pero estos no son los únicos operadores existentes para trabajar con valores numéricos.

Operadores de base

Empecemos con los cuatro operadores básicos que se utilizan de la misma forma que en las matemáticas. En cada ejemplo se indica el resultado obtenido tras la operación.

Suma +

El símbolo + permite, simplemente, sumar dos valores entre sí.

15 + 6 = 21 

Resta -

El símbolo - permite restar dos valores entre sí.

15 - 6 = 9 

Multiplicación *

El símbolo «estrella» o «asterisco» * permite multiplicar dos valores entre sí.

15 * 6 = 90 

División /

El símbolo «barra» (de división) / permite dividir dos valores entre sí. Tenga en cuenta que el tipo de datos que divide no afecta al tipo de datos del resultado.

15 / 6 = 2.5 

Las operaciones matemáticas siguen las mismas reglas que en la vida real, no hay reglas adicionales.

División entera \

El símbolo «barra invertida» \ se utiliza para devolver la parte entera de una división.

15 \ 6 = 2 

Operador módulo mod

La palabra clave Mod, también llamada operador módulo, se utiliza para devolver el resto de una división....

Operadores de comparación

Cuando se trata de comparar dos valores, hay varios operadores disponibles. Cuando realice una comparación, el resultado será un booleano, que le dirá si la comparación es verdadera o falsa. En cada uno de los siguientes casos, el primer ejemplo será verdadero y el segundo, falso.

Estrictamente superior a >

5>3 
5>10 

Superior o igual a >=

5>=5 
5>=6 

Estrictamente inferior a <

5<10 
8<4 

Inferior o igual a <=

5<=10 
8<=4 

Igual a =

5=5 
8=4 

Diferente de <>

5<>6 
4<>4 

Operadores LIKE e IS

Hay otros dos operadores de comparación. El operador Like se utiliza para las comparaciones de cadena; véase el capítulo Manipular cadenas. El operador Is se utiliza para comparar objetos entre sí.

Operadores de lógica u operadores booleanos

Al realizar comparaciones, es posible que necesite combinaciones de varias operaciones. Los operadores lógicos se utilizan para validar dos valores booleanos.

La sintaxis general de estos operadores es la siguiente:

Valor1 operador Valor2 

Esta expresión devuelve un booleano.

A continuación, encontrará una tabla de verdad para cada uno de estos operadores. El valor 1 significa Verdadero, 0 significa Falso.

Operador Y - And

El operador And permite comprobar que dos valores sean verdaderos.

Valor1

Valor2

Valor1 And Valor2

1

1

1

1

0

0

0

1

0

0

0

0

Operador O - Or

El operador Or permite comprobar que al menos uno de los dos valores sea verdadero.

Valor1

Valor2

Valor1 Or Valor2

1

1

1

1

0

1

0

1

1

0

0

0

Operador NO - Not

El operador Not permite invertir el valor de un booleano.

Valor1

Not Valor1

1

0

0

1

Operador O EXCLUSIVO - Xor

El operador Xor permite comprobar que solo uno de los dos valores sea verdadero.

Valor1

Valor2

Valor1 Xor Valor2

1

1

0

1

0

1

0

1

1

0

0

0

Prioridad de los operadores

Cuando se programa una línea con varios operadores, es importante saber en qué orden VBA realiza las operaciones.

Si su expresión tiene paréntesis, las expresiones dentro de los paréntesis se calcularán primero.

Si su expresión tiene operadores aritméticos, estos se procesarán primero, en el siguiente orden: ^ * / \ mod + y, finalmente, -.

Las siguientes líneas dan el mismo resultado para VBA:

'Caso 1 
5*3+1 
15 + 1 'la multiplicación tiene prioridad sobre la suma 
16 
 
'Caso 2 
2 ^ 3 Mod 5 * 2 
8 Mod 5 * 2 'la potencia tiene prioridad sobre los otros operadores 
8 Mod 10 'La multiplicación tiene prioridad sobre el operador Mod 
8 

Ejemplo 1: orden de prioridad de los operadores numéricos

A continuación, si su expresión contiene operadores de comparación, se tratan con la misma prioridad y se evaluarán en el orden en que aparecen en la expresión, es decir, de la izquierda hacia la derecha.

Por último, si su expresión contiene operadores lógicos, se procesarán en el siguiente orden: No, luego And, Or y, finalmente, Xor:

'Caso 3 
5> 3 And 3<=4 
True 
 
'Caso 4 
Not True Xor True Or False 
'se tratará como si se utilizaran los siguientes paréntesis 
(Not True)...

Ejercicios

Operadores aritméticos

Operaciones de base

 Escriba la función Suma, de ámbito público, de tipo entero.

Esta función recibe dos parámetros de tipo numérico entero, llamados A y B.

La función devuelve la suma de los valores A y B.

 A continuación, escriba la función Resta, de ámbito público, de tipo entero.

Esta función recibe dos parámetros de tipo entero, llamados A y B.

La función devuelve la diferencia entre los valores A y B.

 Cree la macro Capitulo10_Ejercicio1A.

 En esta macro declare dos variables de tipo entero, denominadas valor1 y valor2, asignándoles los valores 10 y 12 respectivamente.

A continuación, la macro debe mostrar el resultado devuelto por la función Suma, pasándole los valores de valor1 y valor2.

La macro debe mostrar, igualmente, el resultado devuelto por la función Resta, pasándole los valores de valor1 y valor2.

 Ejecute la macro Capitulo10_Ejercicio1A.

Los valores mostrados serán 22 y -2.

División euclidiana

 Escriba el procedimiento Descomponer, de ámbito público.

Este procedimiento toma como parámetros dos valores, de tipo entero, llamados Valor y Divisor.

El procedimiento mostrará el resultado de la división entera de Valor entre Divisor, y luego mostrará el resto de la división entera.

 Cree la macro...