Saltar al contenido

Guía Para Usar Operadores en VBA

Guía de Operadores de VBA

Una entrada a los operadores

Un cámara es un símbolo que actúa sobre dos operandos para entregar la salida.

Por ejemplo,

Veamos las siguientes expresiones:

  1. A + B = C

aquí

AB y C se llaman operandos

Y

y se llaman operadores.

2. C > D

Aquí

C y D se llaman operandos

Y

” se vehemencia cámara.

Tipos de operadores

Los operadores se clasifican en cuatro tipos.

  1. operadores aritméticos
  2. Operadores de comparación
  3. Operadores relacionales o lógicos
  4. Operadores de concatenación

Profundicemos en cada uno de estos; en el camino, le daré una descripción e innumerables ejemplos.

operadores aritméticos

Estos operadores son símbolos matemáticos utilizados en los cálculos. Aquí hay una letanía de operadores aritméticos admitidos por VBA.

s.noCirujanoDescripciónEjemplo
1Indica la suma de dos operandos4 + 5 da 9
2Resta el segundo operando del primero.8 – 5 da 3
3Multiplica dos operandos en sus lados4 * 6 da 24
4Divide el numerador entre el denominador9 / 3 da 3
5modificaciónEl cámara de módulo. Es el valencia residual a posteriori de una operación de división.10% 3 da un valencia de recordatorio de «1» a posteriori de un trato.
6Cirujano de permisos10^3 da 1000

Programas de muestra

Un software que utiliza todos los operadores anteriores

Sub arith_oper_demo()

' declare variables
Dim a, b, c

' assign values to variables
a = 6
b = 7

' Try different calculations and print them
' addition operator
c = a + b
Debug.Print "Addition : " & c

' subtraction operator ( positive and negative outcomes )
c = b - a
Debug.Print "Subraction : " & c

c = a - b
Debug.Print "Subraction : " & c

' multiplication operator
c = a * b
Debug.Print "Multiplication : " & c

' Division operator
c = a / b
Debug.Print "Division : " & c

' Modulus operator
c = a Mod b
Debug.Print "Modulus : " & c

' Exponentiation operator
c = a ^ b
Debug.Print "Exponentiation : " & c

End Sub
Salida con todos los operadores básicos como se ve en la ventana directa

Calcular el cuerpo de una esfera.

Este software acepta un valencia de radiodifusión como entrada del agraciado y luego calcula el cuerpo y lo muestra en un mensaje.

Sub vol_sp()

' declaration of variables
Dim Pi, r, vol

' assign values to the variables
Pi = 3.14  'or (22/7)
r = InputBox(" Enter the radius of the sphere ")

' calculation
vol = (4 / 3) * Pi * (r ^ 3)

' Display the volume calculated
MsgBox "The volume of the sphere with a radius of " & r & " is " & vol & "."


End Sub
El volumen de la esfera de radio 3 es 113,04

Operadores de comparación

Estos son símbolos que se utilizan para indicar comparar títulos† Aquí hay una letanía de operadores de comparación proporcionados por VBA que se utilizan para la energía durante la programación.

S/NCirujanoDescripciónEjemploSalida:
1Igual aSi x = z EntoncesDevuelve efectivo si los títulos de los operandos (x e y) son iguales, en caso contrario devuelve inexacto
2<Menos queSi x < z EntoncesSi el valencia de x es último que el valencia de z, se devuelve «Cierto». De lo contrario, se devuelve «Fals».
3Mas ínclito queSi x > z EntoncesSi el valencia de x es maduro que el valencia de z, se devuelve «Cierto». De lo contrario, se devuelve «Fals».
4No igual aSi x <> z EntoncesSi el valencia de x difiere del valencia de z, se devuelve «Cierto». De lo contrario, se devuelve «Fals».
5Menos que o igual aSi x <= z EntoncesSi el valencia de x es último o igual que el valencia de z, se devuelve «Cierto». De lo contrario, se devuelve «Fals».
6Decano qué o igual aSi x >= z EntoncesSi el valencia de x es maduro o igual que el valencia de z, se devuelve «Cierto». De lo contrario, se devuelve «Fals».

Programas de muestra

Software que compara las edades de dos personas

Sub compare_demo()

' declare variables
Dim fath_age, uncl_age

' assign values
fath_age = InputBox("Enter your father's age :")
uncl_age = InputBox("Enter your uncle's age :")

' age of uncle and father are being compared here
If fath_age &gt; uncl_age Then
    MsgBox "Your father is elder than your uncle. "
ElseIf fath_age = uncl_age Then
    MsgBox "You father and your uncle are of the same age. "
Else
    MsgBox "Your uncle is elder than your father. "
End If

End Sub

Software para confirmar el peso del equipaje de un pasajero ayer de atracar un planeo

Sub compare_weight()

' declare variables
Dim allwd_wt, curr_wt

' assign values in kg
allwd_wt = 10
curr_wt = InputBox(" Enter the weigth of your luggage")

' check if the weight is within limits 
If curr_wt &lt;= allwd_wt Then
    flag = 1
Else
    flag = 0
End If

' display appropriate message to the passenger
If flag = 1 Then
    MsgBox "The weight of your luggage is within the permitted limit. No further action is required."
Else
    MsgBox "The weight of your luggage is more than the permitted limit. Please remove some luggage and recheck before boarding the flight."
End If
End Sub

La ecuación en el software precedente incluso se puede escribir con un cámara maduro que en punto de un cámara «último que o igual a».

If curr_wt &gt; allwd_wt Then
    flag = 0
Else
    flag = 1
End If

Operadores relacionales o lógicos

Si hay más de una condición para evaluar, podemos usar operadores lógicos para ver cuántas condiciones diferentes se cumplen.

Por ejemplo:

Los hombres deben tener 60 abriles de permanencia o más para ser senior.

Pero las mujeres son consideradas personas mayores mayores de 58 abriles.

Si es necesario escribir un software para confirmar los criterios de elegibilidad, debemos validarlo ambas cosas apartado y permanencia para determinar si la persona es maduro o no. Aquí es donde entran en placer los operadores lógicos.

En el fragmento de código venidero, se utilizan dos operadores lógicos OR y AND.

If age &gt;= 60 Or ( age &gt;= 58 and gender = ”Female” ) then
Debug.Print “ The person is a senior citizen .”
Else
Debug.Print “The person is not a senior citizen .“
End if

A continuación se muestran los seis operadores lógicos que ofrece VBA.

s.noCirujanoDescripciónEjemploSalida y explicación
1YEste es el cámara natural AND. Devuelve efectivo si las condiciones en los dos lados devuelven efectivo.Distancia («ABC») = 3 Y 5 + 3 = 3La primera condición devuelve efectivo, pero la segunda condición devuelve inexacto. De acuerdo con la regla de este cámara, incluso si una condición devuelve inexacto, la respuesta final es falsa
2OEste es el cámara natural AND. Devuelve efectivo si una de las condiciones en los dos lados devuelve efectivo.Distancia («ABC») = 3 O (5 + 3) = 3La primera condición devuelve efectivo, pero la segunda condición devuelve inexacto. De acuerdo con la regla de este cámara, al menos una condición debe ser verdadera para que la respuesta final sea verdadera. Por lo tanto, el resultado final es VERDADERO.
3NOEsto se vehemencia el cámara natural NOT. Invierte el estado natural de su operando. Si una condición devuelve efectivo, el cámara Natural NO devuelve el valencia opuesto («Aparente» en este caso es el valencia opuesto).NO(Len(“ABC”) = 3 O (5 + 3) = 4)La primera condición devuelve efectivo, pero la segunda condición devuelve inexacto. De acuerdo con la regla de este cámara, al menos una condición debe ser verdadera para que la respuesta final sea verdadera. Así que el resultado final es efectivo. El cámara NOT invierte la respuesta de efectivo a FALSO.
4XOREl cámara XOR se vehemencia «Pega deducción». Es la combinación de los operadores NOT y OR. Si solo una de las expresiones es verdadera, el resultado es efectivo. Si ninguna de las condiciones devuelve efectivo o más de una condición devuelve efectivo, el cámara XOR devuelve inexacto.Distancia («ABC») = 3 XOR (5 + 3) = 3Solo una de las condiciones devuelve efectivo. Por lo tanto, el resultado final es VERDADERO.
5ESEste cámara natural compara dos variables de objeto y devuelve efectivo solo si el mismo objeto está almacenado en ellas.Workbooks.Sheets («ABC») ES Workbooks.Sheets («DEF»)Ambas hojas de cálculo son diferentes y, por lo tanto, el resultado de salida sería «Aparente».
6GUSTAEste cámara natural LIKE puede comparar dos cadenas para coincidencias imprecisas. Puede agenciárselas patrones o cadenas internamente de otra prisión.string1= «Amo a mi país»
si string1 LIKE «*coito*» entonces
La condición comprueba si la prisión comienza con unos pocos caracteres, contiene la palabra «coito» y termina con unos pocos caracteres. Poliedro que se cumplen estas condiciones, la condición devuelve «Cierto».

Programas de muestra

Usando el cámara Me gusta

' validate directly without variables
    If "Tamil Nadu is in India" Like "Tamil*" Then
        Debug.Print "The string starts with the expected text"
    Else
        Debug.Print "The string does not start with the expected text"
    End If

Salida:

La prisión comienza con el texto esperado.

Usando el cámara NOT

' checking for existence of a key in a dictionary object
    If Not( MyDict.Exists ("Class I") ) Then
        Debug.Print “Does not exist”
    End If

Uso del cámara XOR

Sub xor_demo()

' variable declaration
Dim amt, points

' Assign values to variables
amt = 2000
points = 400

' XOR demo - only one condition is satisfied
If amt &gt; 200 Xor points &gt; 500 Then
    Debug.Print ("You are winning a discount coupon_1")
End If

' XOR demo - both conditions are satisfied
If amt &gt; 1500 Xor points &gt; 200 Then
    Debug.Print ("You are winning a discount coupon_2")
End If

' XOR demo - no condition is satisfied
If amt &gt; 6500 Xor points &gt; 500 Then
    Debug.Print ("You are winning a discount coupon_3")
End If

End Sub
Salida de ejemplo XOR

Operadores de concatenación

Estos son operadores que pueden concatenar dos expresiones.

Nota: Si ambas expresiones son números, se suman cuando usa «+».

VBA proporciona los dos operadores siguientes para fines de concatenación.

s.noCirujanoDescripción
1Une dos títulos si uno o los dos son cadenas. Si los dos son títulos numéricos, se suman.
2Une (fusiona) las dos expresiones.

Software de ejemplo

Sub concat_demo()

' declaration of variables
Dim str1, str2
Dim num1, num2

' assigning values to the variables
str1 = "Would you like to "
str2 = "eat cake"

num1 = 32
num2 = 5

' using the concatenation operator "+"
Debug.Print str1 + str2
Debug.Print num1 + num2

' using the concatenation operator "&amp;"
Debug.Print str1 &amp; str2
Debug.Print num1 &amp; num2

End Sub
¿Quieres comer pastel?

Conclusión

Estos cuatro tipos de operadores son indispensables para construir la deducción y redirigir el flujo de control en cualquier software. Muchos de nosotros solo nos limitamos a los operadores básicos y no memorizamos todo lo acondicionado en VBA.

Por ejemplo, es posible que solo necesite hacer poco si equivocación un par clave-valor en un objeto de diccionario. En este caso, usaremos la palabra esencia «Existe» para confirmar la existencia. Sin requisa, si esa palabra esencia se usa inmediato con el cámara NOT, se puede compendiar el número de líneas de código (se puede evitar un agrupación de código «else»). Tenemos que hacer un uso magnífico de estos operadores en función de la situación.