Operadores en Excel VBA

Tabla de contenido:

Anonim

Los signos y palabras clave que usamos para operar variables en VBA se denominan Operadores VBA. Por ejemplo, en las líneas siguientes, las líneas =, +,> y son operadores.

sub Examp () a = 12 b = 10 c = a + b debug.print "La suma de ayb es" & c end sub 

Hay cinco tipos de operadores en cualquier lenguaje de programación, por lo que en VBA
1. Operador de asignación
2. Operador aritmético
3. Operador de comparación
4. Operador lógico
5. Operador de concatenación

Echemos un vistazo a cada tipo de operador en Excel VBA.

1. Operador de asignación (=)

Este es el primer operador que va a utilizar en cualquier lenguaje de programación. En VBA, se usa para asignar valores a variables. Es "=" (igual a).

Usamos este operador para asignar valores a variables en Excel VBA. También se utiliza como operador de comparación en VBA. Hablaremos de ello más adelante en este tutorial.

Un ejemplo simple es

subprueba () a = 10 Rango ("A1"). valor = a end sub 

En el ejemplo anterior, primero usamos el operador de asignación "=" para asignar valor a la variable "a" y luego usamos el operador "=" para asignar el valor de "a" al valor de Rango ("A1").

2. Operadores aritméticos

Los operadores aritméticos son los mismos operadores que usamos desde la infancia para hacer cálculos simples. En Excel VBA, estos operadores se utilizan para realizar cálculos sobre variables y números. Son:

(+) Suma aritmética:Este operador se utiliza para sumar dos o más números o valores de dos o más variables. Las líneas siguientes suman los valores de las dos variables y lo imprimen en la celda "A1".

Subprueba () a = 10 b = 12 Rango ("A1"). Valor =a + b End Sub

A1 tendrá 22. Este operador también funciona como operador de concatenación. Si ambos, ayb tendrán los valores de cadena, entonces el operador + funcionará como un operador de concatenación. Veremos cómo, más adelante en el artículo.

(-) Resta aritmética:Este operador se utiliza para restar un valor de otro valor de variables. La línea de abajo resta el valor de a de b y lo imprime en la celda "A1".

Subprueba () a = 10 b = 12 Rango ("A1"). Valor =licenciado en Letras End Sub

A1 en la hoja tendrá 2.

(*) Multiplicación aritmética:Este operador se utiliza para multiplicar o obtener el producto de dos o más números o valores de dos o más variables. Las siguientes líneas multiplican los valores de las dos variables y lo imprimen en la celda "A1".

Subprueba () a = 10 b = 12 Rango ("A1"). Valor =a * b End Sub

La celda A1 tendrá un valor de 120.

(/) División aritmética:Este operador se usa dividiendo un valor de otro. La línea de abajo divide el valor b por la variable ay lo imprime en la celda "A1".

Subprueba () a = 10 b = 12 Rango ("A1"). Valor =licenciado en Letras End Sub

La celda A1 tendrá valor 1.2.

(Mod) Operador de resto aritmético en VBA: Si bien la mayoría de los PL usan el% (módulo) para obtener el resto, en VBA usamos la palabra clave Modificación. Este operador se utiliza para obtener el recordatorio después de dividir un valor de otro. La línea de abajo divide el valor b por la variable ay imprime el valor de recordatorio en la celda A1.

Subprueba () a = 10 b = 4 Rango ("A1"). Valor =un Mod b End Sub 

La celda A1 tendrá el valor 2.

(^) Exponencial aritmético:Este operador se usa para obtener el exponente de un valor a otro. Las siguientes líneas nos dan el valor de 3 para exponencial 4.

Subprueba () a = 3 b = 4 Rango ("A1"). Valor =a b End Sub

La celda A1 tendrá el valor 81 (3x3x3x3).

Estos operadores en VBA siguen la regla BODMAS. Solo hay 6 operadores aritméticos en VBA. Hay algunos operadores que actúan como dos tipos de operadores como +. Aprenderá sobre ellos a medida que avance en este tutorial.

3. Operadores de comparación

Cuando queremos comparar dos valores en VBA, usamos los operadores de comparación. El resultado del operador de comparación es siempre booleano. Si la afirmación es verdadera, el resultado es VERDADERO. Si la declaración es falsa, el valor es falso. Estos operadores se utilizan con frecuencia en la toma de decisiones en VBA. Veamos cuáles son:

(=) Igual a:Sí, el signo = (igual a) también se usa como operador de comparación en VBA. Cuando queremos verificar si las dos variables son iguales o no, usamos este operador de comparación.

Subprueba () a = 3 b = 4 Si a = b entonces 'Devolverá falso MsgBox "La a y la b son iguales". 'esto no se ejecutará. Else MsgBox "La a y la b no son iguales" End IF End Sub

En el ejemplo anterior, usamos la instrucción If y verificamos si los valores de ayb son iguales. Claramente no lo son. Por lo tanto, se imprime la declaración Else.

Puede verificarlo simplemente usando la declaración.

a = 3 b = 4 debug.print a = b

Esto imprimirá False en la ventana inmediata.

(<) Menor que:Esto se usa para verificar si el valor de la izquierda es menor que el valor de la derecha o no.

Subprueba () a = 3 b = 4 Si a

En el ejemplo anterior, verificamos si el valor de a es menor que b. Dado que esto es Verdadero, la instrucción if se ejecuta y Else no.

Puede verificarlo simplemente usando la declaración.

a = 3 b = 4 debug.print a<>

Esto imprimirá True en la ventana inmediata.

(<=) Menor o igual a:Esto se usa para verificar si el valor de la izquierda es menor o igual que el valor de la derecha o no.

Subprueba () a = 4 b = 4 Si a <= b entonces 'Devolverá True MsgBox "La a es menor o igual que b". 'esto se ejecutará. Else MsgBox "La a no es igual ni menor que b". 'esto no se ejecutará. End IF End Sub

En el ejemplo anterior, verificamos si el valor de a es menor que b. Dado que esto es Verdadero, la instrucción If se ejecuta y Else no.

Puede verificarlo simplemente usando la declaración.

a = 4 b = 4 debug.print a <-b

Esto imprimirá True en la ventana inmediata.

(>) Mayor que:Se utiliza para comprobar si el valor de la izquierda es mayor que el valor de la derecha o no.

Subprueba () a = 3 b = 4 Si a> b entonces 'Devolverá False MsgBox "La a es mayor que b". Esto no se ejecutará. Else MsgBox "La a no es mayor que b". 'Esto se ejecutará. End IF End Sub

En el ejemplo anterior, verificamos si el valor de a es mayor que b. Dado que esto es Falso, la instrucción if no se ejecutará y Else sí.

Puede verificarlo simplemente usando la declaración.

a = 3 b = 4 debug.print a> b

Esto imprimirá False en la ventana inmediata.

(> =) Mayor que:Se utiliza para comprobar si el valor de la izquierda es mayor o igual que el valor de la derecha o no.

Subprueba () a = 3 b = 4 Si a> = b entonces 'Devolverá False MsgBox "La a es mayor o igual que b". Esto no se ejecutará. Else MsgBox "La a no es mayor o igual que b". 'Esto se ejecutará. Terminara si

En el ejemplo anterior, verificamos si el valor de a es mayor o igual que b. Dado que esto es Falso, la instrucción if no se ejecutará y Else sí.

Puede verificarlo simplemente usando la declaración.

a = 3 b = 4 debug.print a> = b

Esto imprimirá False en la ventana inmediata.

() No igual a:Se utiliza para comprobar si el valor de la izquierda no es igual al valor de la derecha.

Subprueba () a = 3 b = 4 Si ab entonces 'Devolverá True MsgBox "La a no es igual a b,"' Esto se ejecutará. Else MsgBox "El ayb son iguales". Esto no se ejecutará. End IF End Sub

En el ejemplo anterior, verificamos si el valor de a es no igual a B. Dado que esto es Verdadero, la instrucción If se ejecutará y Else no.

Puede verificarlo simplemente usando la declaración.

a = 3 b = 4 debug.print ab

Esto imprimirá True en la ventana inmediata.

Los seis operadores anteriores se denominan operadores de comparación, ya que los usamos para comparar dos valores o variables. Los usará mucho en VBA para tomar decisiones en VBA.

4. Operadores lógicos

Los operadores lógicos se utilizan para realizar operaciones lógicas en una o más variables. El resultado de tales operaciones siempre resulta en VERDADERO o FALSO. Los operadores lógicos a menudo (no siempre) se utilizan para verificar más de una condición.

A continuación se muestran los operadores lógicos que usamos en VBA:

Operador Y VBA (Y o *): El operador VBA AND se utiliza para garantizar que las condiciones a su izquierda y derecha sean verdaderas. Si alguna de las condiciones es False, toda la declaración resultará en False. Usamos la palabra clave Y o el signo * (asterisco) para las operaciones Y.

Consulte la siguiente declaración:

Subprueba () a = 10 b = 20 Si a <15 y b <15 entonces MsgBox "ayb son menores que 15." 'Esto no se ejecuta. Else MsgBox "Aob es mayor o igual a 15." 'Esto se ejecuta. End If End Sub 

Cuando ejecutamos el fragmento anterior, la segunda instrucción if no se ejecuta. Porque la primera afirmación de la izquierda es verdadera, pero la afirmación de la derecha es falsa. Por lo tanto, toda la declaración devuelve False.

En la mayoría de los idiomas, el símbolo & se usa como operador AND pero no en VBA. En VBA, puede usar el operador de multiplicación * (asterisco) como operador AND para asegurarse de que ambas condiciones sean verdaderas.

En el ejemplo anterior, puede utilizar la siguiente instrucción if para hacer lo mismo.

Si (a <15) * (b <15) Entonces

Debe utilizar paréntesis para separar las declaraciones condicionales. De lo contrario, las declaraciones seguirán la regla BODMAS y el resultado será inexacto.

Q1: ¿Cuál será el resultado de la siguiente declaración? Házmelo saber en la sección de comentarios a continuación:

debug.print a10 AND a = (b / 2) AND a<>

Cuando el valor de a es 15 y b es 30. Escriba en la sección de comentarios a continuación.

Operador VBA OR (O o +): El operador OR se utiliza cuando queremos asegurarnos de que la condición Izquierda es VERDADERA o la condición Derecha es VERDADERA. Si alguna de las dos condiciones es verdadera, el resultado será verdadero. Usamos la palabra clave OR entre dos declaraciones booleanas. También puede utilizar el signo + (más) para la operación OR. Solo asegúrese de usar los paréntesis correctamente para aclarar las declaraciones mientras usa el signo +.

Examine el siguiente código:

Subprueba () a = 10 b = 20 Si a <15 O b <15 Entonces MsgBox "Aob es menor que 15." 'Esto se ejecuta. Else MsgBox "Ni a ni b es menor que 15." 'Esto no se ejecuta. End If End Sub

Cuando ejecutamos el código anterior, se muestra el primer mensaje y se omite el segundo. Porque a es menor que 15 y b no lo es. Solo se necesita una condición para ser Verdadero con el operador OR para que la salida sea verdadera.

Escribe la declaración como:

Si (a <15) + (b <15) Entonces

P2: ¿Cuál será el resultado de la siguiente declaración? Házmelo saber en la sección de comentarios a continuación:

debug.print a10 O a = (b / 2) o a<>

Cuando el valor de a es 10 y b es 5. Escriba en la sección de comentarios a continuación.

Operador de VBA NOT (no): El operador Not se utiliza para invertir el valor booleano. En otras palabras, la declaración con el operador No solo devuelve Verdadero si la declaración anterior es Falsa. Por ejemplo, si usa la palabra clave Not antes de una Declaración Verdadera, resultará en Falso y viceversa. En VBA, usamos el No palabra clave para comprobar si algo no es verdadero o falso (?).

Subprueba () a = 10 b = 10 Si no a = b entonces MsgBox "ayb no son iguales". Else MsgBox "ayb son iguales". Esto se ejecuta End If End Sub

En el código anterior, declaraciónNo a = bdevolverá falso. Inicialmente, a = b es verdadero, pero como hemos usado antes, el resultado se invierte y el enunciado se convierte en falso. En el ejemplo anterior, hemos utilizado las únicas declaraciones anteriores. Puede tener tantas declaraciones como desee antes del operador Not. Enciérrelos entre paréntesis.

Q3: ¿Cuál será el resultado de la siguiente declaración? Házmelo saber en la sección de comentarios a continuación:

debug.print a10 o no (a = (b / 2) * a<>

Cuando el valor de a es 10 y b es 5. Escriba en la sección de comentarios a continuación.

5. Operadores de concatenación (& o +)

Estos operadores se utilizan para concatenar cadenas. El símbolo & se usa para concatenar textos. Es el operador recomendado para concatenar cadenas. Sin embargo, también puede usar el signo + para concatenar.

El signo más solo concatena dos variables cuando ambas son cadenas. Si alguna de las cadenas no es una cadena, el signo + funcionará como un operador de suma.

Vea el siguiente código:

Subprueba () a = "Exceltip" b = "es el número" c = 1 d = 2 Debug.print a & b & c 'esto imprimirá "Exceltip is number 1" Debug.print a + b & c & d' esto imprimirá "Exceltip es el número 12 'Debug.print a + b + c' esto será un error. End Sub

En el código anterior, las dos primeras líneas funcionarán perfectamente bien. La tercera línea se encontrará con un error porque estamos intentando agregar texto con números. Para concatenar números siempre usamos & (amp).

Operadores multifuncionales en VBA

A través de los ejemplos anteriores, debe haber aprendido que hay muchos operadores que funcionan de manera diferente en diferentes situaciones.

El signo + funciona como operador de suma mientras se trabaja con números. Mientras trabaja con valores booleanos, el signo más funciona como operador Or en VBA. Cuando se usa con valores de cadena, el operador más funciona como un operador de concatenación. Las siguientes líneas son válidas:

Debug.Print 10 + 20 'imprime 30. + funciona como operador de suma. Debug.Print (1020) 'imprime True. + funciona como operador Or. Debug.Print "10" + "20" 'Imprime 1020. El signo + funciona como operador de concatenación. 

El signo de asterisco (*) funciona como un operador de multiplicación cuando los operandos son numéricos. Cuando los operandos son booleanos, el asterisco funciona como operador And.

Las siguientes líneas de código funcionan perfectamente bien.

Debug.Print 10 * 20 'imprime 200. El * funciona como operador de multiplicación. Debug.Print (1020) 'imprime False. El signo + funciona como operador Y. 

Así que sí, chicos, todo esto se trata de los operadores en VBA. Espero que haya sido de ayuda. Si tiene alguna duda con respecto a los operadores en VBA, pregunte en la sección de comentarios a continuación.

La declaración If ElseIf en VBA | In If ElseIf, la siguiente condición solo se verifica cuando cae la condición anterior. Cuando se cumple una condición, se ejecuta el código de ese bloque y el control sale del bloque If.

Alcance variable de Excel VBA | VBA también tiene especificadores de alcance. Estos especificadores de alcance se pueden usar para establecer la visibilidad / alcance de una variable en Excel VBA.

Declaración de caso de VBA Select | Las declaraciones de casos seleccionados son útiles cuando tiene que verificar demasiadas condiciones. Son excelentes reemplazos de múltiples declaraciones If ElseIf.

Usando Loop en VBA en Microsoft Excel | Los bucles en VBA nos permiten hacer una tarea similar una y otra vez sin repetición de código. Hay 3 tipos de bucles en Excel VBA.

Argumentos ByRef y ByVal | Cuando se pasa un argumento como argumento ByRef a una función o sub diferente, se envía la referencia de la variable real. Cualquier cambio realizado en la copia de la variable se reflejará en el argumento original.

Mostrar un mensaje en la barra de estado de Excel VBA La barra de estado en Excel se puede utilizar como un monitor de código. Cuando su código VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea que la pantalla parpadea

Desactive los mensajes de advertencia con VBA en Microsoft Excel 2016 | Este código no solo deshabilita las alertas de VBA, sino que también aumenta la eficiencia de tiempo del código. Veamos cómo.

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.

La función BUSCARV en Excel | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

CONTAR.SI en Excel 2016 | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.

Cómo utilizar la función SUMIF en Excel »Wiki Ùtil Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.