Opérateurs de comparaison VBA. Opérateurs logiques VB VBA Denial

Ces opérateurs comparent deux expressions pour déterminer s'ils sont égaux, et sinon, comment ils diffèrent. ISnot et similaire sont discutés en détail sur des pages distinctes de référence. Les opérateurs de comparaison sont discutés sur cette page.

Résultat \u003d expression1 comparateurOpérateur expression2 résultat \u003d objet1 objet2 résultat \u003d chaîne comme motif

rÉSULTAT
Obligatoire. Le résultat est booléen, ce qui représente le résultat de la comparaison.

expression
Obligatoire. Expression arbitraire.

comparateurOpérateur
Obligatoire. Tout opérateur de comparaison de formulaire.

objet1, objet2.
Obligatoire. Le nom de n'importe quel objet de référence.

chaîne
Obligatoire. Expression de type de chaîne arbitraire.

schéma.
Obligatoire. Toute expression de chaîne ou une plage de symboles.

Le tableau suivant fournit une liste des opérateurs de comparaison et des conditions définissant si le résultat est vrai ou faux.

Noter

Lors de la comparaison des chaînes, les expressions de chaîne sont calculées en fonction de leur ordre de tri alphabétique, qui dépend du paramètre de comparaison des options.

Option Comparer Binarys Spécifie la méthode de comparaison de ligne basée sur l'ordre de tri déterminé par la représentation binaire interne des caractères. L'ordre de tri est défini par la page Code. L'exemple suivant montre l'ordre typique du tri binaire.

UNE.< B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Option Comparer le texte Spécifie la méthode de comparaison de lignes en fonction de l'ordre du tri du tri (à l'exclusion du registre), qui est déterminé par les paramètres régionaux d'application. Lors de l'installation d'option Comparez le texte et le tri des caractères de l'exemple précédent, l'ordre de tri de texte suivant est appliqué:

(A \u003d a)< (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)

Dépendance à la norme linguistique

Lors de l'installation du texte de comparaison des options, le résultat d'une comparaison d'une ligne peut dépendre de la norme de langue dans laquelle l'application est en cours d'exécution. Deux caractères dans une norme d'une langue peuvent être considérés comme égaux et il n'y a pas. Lorsque vous utilisez une comparaison d'une ligne pour prendre des décisions importantes, si vous autorisez une tentative de vous connecter au système, la sensibilité aux normes linguistiques doit être prise en compte. Envisagez d'installer une option Comparer le binaire ou l'appel, qui prend en compte la norme de langue.

L'utilisation des opérateurs de comparaison avec des expressions d'objets n'est pas autorisée lorsque l'option strict sur. Lorsque l'option strict éteinte et expression expression1, ou expression2 est objet, les types de temps d'exécution sont déterminés comment ils seront comparés. Le tableau suivant montre la comparaison des expressions et des résultats de comparaison en fonction du type d'opérandes défini lors de l'exécution:

Avec une comparaison en nother, rien n'est égal à 0. Lorsque la comparaison des lignes de rien n'est traitée comme "" (chaîne vide).

Les opérateurs de comparaison (< . <= , > , >= , = , <>) peut être surchargé; Cela signifie que la classe ou la structure peut remplacer leur comportement lorsque l'opérande a le type de cette classe ou de cette structure. Si votre code utilise ces opérateurs pour cette classe ou cette structure, assurez-vous de comprendre son comportement remplacé. Pour plus d'informations, voir la section

Il décrit en détail tous les opérateurs arithmétiques, les opérateurs de comparaison, les opérateurs logiques et de concaténation. J'ai essayé de collecter tout ce que vous devez savoir sur ces opérateurs. Chaque opérateur est équipé d'un exemple. Des descriptions sont traduites par moi de l'aide standard "A vb5.

Opérateurs arithmétiques

Opérateur ^ (exercice)

Cet opérateur est conçu pour créer un nombre dans un degré.

Syntaxe:

résultat = numéro^ Puissance

Paramètres:

résultat
numéro
puissance - obligatoire; Toute expression numérique

Remarques:

numéro peut être négatif que dans le cas où puissance - Entier. Si plusieurs états sont utilisés dans une seule expression ^, le calcul est passé de gauche à droite. Habituellement, le type de résultat est double. Cependant, si ou puissance, ou alors numéro - expression , alors résultat Aussi null.

Exemple:

Faible Myvalue.
Myvalue \u003d 2 ^ 2 "Retour 4.
Myvalue \u003d 2 ^ 3 ^ 3 " Revenu 512 (2^3=8, 8^3=512)
Myvalue \u003d (-5) ^ 3 " Revenu -125.

Conseils:

Si vous avez besoin de créer un nombre dans un degré permanent, il est préférable d'utiliser plusieurs opérateurs - multiplications que l'une - la construction de la marche, juge par vous-même, le cycle en un million de passages avec le calcul de l'expression était:

test1 \u003d 2 ^ 8 "893ms
Test1 \u003d 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 "130ms!

Opérateur * (multiplication)

Utilisé pour multiplier deux nombres.

Syntaxe:

résultat = numéro 1* numéro 2

Paramètres:

résultat - obligatoire; Toute variable numérique
numéro 1 - nécessairement; Toute expression numérique
numéro 2 - nécessairement; Toute expression numérique

Remarques:

Le type de données de résultat est généralement identique au type de deux nombres le plus précis. Procédure de précision, de plus grande au bassin-octet, entier, longue, unique, monnaie, double, décimale. Vrai, il y a des exceptions:

  • Si simple et long est plié, le résultat est double
  • Si le type de données résultat - Long Single ou Date, dans lequel le résultat de l'expression ne correspond pas, le résultat est converti en une variante contenant un double.

Si un numéro 1 ou alors numéro 2

La procédure de précision en multiplication est différente de celle utilisée en plus et soustraction.

Exemple:

Faible Myvalue.
Myvalue \u003d 2 * 2 "retour 4.
Myvalue \u003d 459.35 * myvalue "(! Lang: Retour 495.35 * 4

Opérateur / (division)

Utilisé pour diviser deux nombres et obtenir le résultat avec un point flottant.

Syntaxe:

résultat = numéro 1 / numéro 2

Paramètres:

résultat - obligatoire; Toute variable numérique
numéro 1 - nécessairement; Toute expression numérique
numéro 2 - nécessairement; Toute expression numérique

Remarques:

Résultatil a généralement un double type. Vrai, il y a des exceptions:

  • Si les deux expressions de l'expression ont l'octet, entier, le type unique, puis le résultat d'un seul. Cependant, si les dimensions d'expression ne correspondent pas à la seule image, une erreur se produit.
  • Si les deux expressions ont un type de variante contenant des octets, entier ou célibataire, le résultat de la variante unique. Toutefois, si les dimensions d'expression ne rentrent pas dans la seule image, la double variante.
  • Si l'un des chiffres a un type décimal, le résultat est décimal.

Si un numéro 1 ou alors numéro 2 - NULL, alors il est interprété simplement comme l'habituel 0.

Exemples:

Faible Myvalue.
Myvalue \u003d 10/4" !} Revenu 2.5.
Myvalue \u003d 10/3 " Revenu 3.333333.

Opérateur \\ (division entière)

Utilisé pour diviser deux nombres et obtenir un résultat entier.

Syntaxe:

résultat = numéro 1 \ numéro 2

Paramètres:

résultat - obligatoire; Toute variable numérique
numéro 1 - nécessairement; Toute expression numérique
numéro 2 - nécessairement; Toute expression numérique

Remarques:

Avant que cette division ne se produise, les expressions sont arrondies à des octets, entier ou à longues expressions. Habituellement, le type d'octet de données, de variante d'octets, entier, de variante entière, longue ou longue variante. Toute partie fractionnelle est coupée.

Cependant, si l'une des expressions nulles, alors null. Toute expression contenant vide est interprétée comme 0.

Exemples:

Faible Myvalue.
Myvalue \u003d 11 \\ 4 " Revenu 2.
Myvalue \u003d 9 \\ 3 " Revenu 3.
Myvalue \u003d 100 \\ 3 " Revenu 33.

Opérateur de mod (solde de la division)

Utilisé pour diviser les deux nombres et obtenir un équilibre de leur division.

Syntaxe:

résultat = numéro 1 Mod. numéro 2

Paramètres:

résultat - obligatoire; Toute variable numérique
numéro 1 - nécessairement; Toute expression numérique
numéro 2 - nécessairement; Toute expression numérique

Remarques:

Lors de la division d'un numéro de point plutôt est arrondi. Par exemple, le résultat de l'expression suivante est de 5:

A \u003d 19. MOD 6.7

Que se passe t-il ici? Premièrement, le nombre de 6,7 à 7 est arrondi. Ensuite, la division se produit, nous obtenons 2,7 .... Le résidu de la division \u003d 5. (2 * 7 \u003d 14, 19 - 14 \u003d 5).

Le résultat est généralement le type d'octet, la variante d'octets, l'entier, la variante entière, longue ou variante contenant longtemps.

Si l'une des expressions nulles, le résultat est null. Toute expression contenant vide est interprétée comme 0.

Exemples:

Faible Myresult
MyResult \u003d 10 mod 5 " Revenu 0.
MyResult \u003d 10 mod 3 " Revenu 1.
MyResult \u003d 12 mod 4.3 " Revenu 0.
MyResult \u003d 12.6 mod 5 " Revenu 3.

Opérateur + (ajout)

Utilisé pour ajouter deux nombres.

Syntaxe:

résultat = expression1+ expression2.

Paramètres:

résultat - obligatoire; Toute variable numérique
expression1
expression2. - nécessairement; Toute expression

Remarques:

Lorsque vous utilisez l'opérateur +, vous ne pouvez pas déterminer ce qui se passe, addition ou concaténation des chaînes. Pour la concaténation, utilisez l'opérateur et pour éviter les malentendus et rendre le code plus lisible.

Si l'une des expressions n'est pas variante, les règles suivantes s'appliquent:

  • Si les deux expressions ont un type numérique (octet, booléen, entier, long, unique, double, date, devise ou décimale) - alors leur ajout se produit.
  • Si les deux expressions de la chaîne sont la concaténation.
  • Si l'une des expressions a un type numérique et une autre valeur variante, y compris NULL, puis ajoute.
  • Si l'une des expressions de la chaîne, et une autre valeur variante, une concaténation se produit.
  • Si l'une des expressions contient vide, la seconde expression non modifiée revient.
  • Si l'une des expressions a un type numérique et que l'autre est une chaîne, l'erreur de réciprocité de type se produit (instabilité de type).
  • Si une expression nulle est alors le résultat est également null.

Si les deux expressions de variantes sont appliquées par les règles suivantes:

  • Si les deux expressions du nombre sont alors additionnées.
  • Si les deux expressions de la chaîne sont, alors ils sont concatés.
  • Si l'une des expressions est le nombre et une autre ligne - l'ajout se produit.

Pour une addition normale, le type de données de résultat est généralement identique au type de deux nombres le plus précis. Procédure de précision suivante - octet, entier, long, simple, double, monnaie et décimale. Il y a des exceptions:

  • Si le seul et long est plié, le résultat est double
  • S'il y a une expression avec le type de date, avec une autre expression, le résultat est de date.

Si une ou les deux expressions nulles, le résultat est null. Si les deux expressions contiennent vide, le résultat entier. Si seulement un, le résultat n'est pas une deuxième expression modifiée.

Exemples:

Faible MyNumber, Var1, Var2
MyNumber \u003d 2 + 2 " Revenu 4.
MyNumber \u003d 4257.04 + 98112 " Revenu 102369.04.

Var1 \u003d "34"
Var2 \u003d 6. "Initialiser les variables mixtes
MyNumber \u003d var1 + var2 " Revenu 40.

Var1 \u003d "34"
Var2 \u003d "6" "Initialiser les variables avec des rangées
MyNumber \u003d var1 + var2 " Revenu "346" (s'est produite
"Concaténation, pas addition!).

Conseils:

L'addition de l'opérateur (+) peut être utilisée pour ajouter des dates, c'est-à-dire Variables de date:

Dim D. Comme date.
D \u003d DATERIAL (2002, 8, 15) "Initialisation de la date 08/15/2002
D \u003d D + 15 "Maintenant d contient une date 08/30/2002
"C'est-à-dire que nous avons ajouté 15 jours

Opérateur - (soustraction, changement de signe)

Il est utilisé pour trouver la différence entre deux chiffres ou également pour modifier le signe de l'expression.

Syntaxe:

résultat = expression1- expression2.

-expression

Paramètres:

résultat - obligatoire; Toute variable numérique
expression - nécessairement; Toute expression
expression1 - nécessairement; Toute expression
expression2. - nécessairement; Toute expression

Remarques:

Dans la première syntaxe, l'opérateur "-" est nécessaire pour trouver la différence entre les deux nombres. Dans la deuxième syntaxe, "-" est utilisé pour changer le signe expressions.

Le type de données de résultat est généralement identique au type de deux nombres le plus précis. Procédure de précision suivante - octet, entier, long, simple, double, monnaie et décimale. Il y a des exceptions:

  • Si des types simples et longs sont impliqués dans la soustraction, le résultat est double
  • Si la soustraction utilise une expression avec le type de date,
    Le résultat est de date.
  • La soustraction de deux dates donne un double.

Si une ou les deux expressions nulles, le résultat est null. Si l'une des expressions vides, elle est interprétée comme 0.

L'ordre de précision en outre et la soustraction est différent de ceux utilisés en multiplication.

Exemples:

Faible Myresult
MyResult \u003d 4 - 2 " Revenu 2.
MyResult \u003d 459.35 - 334.90 " Revenu 124.45.

Conseils:

Comme l'addition de l'opérateur, la soustraction de l'opérateur peut être appliquée pour calculer la différence (en jours) entre les deux dates:

Dim D1. Comme date.
Dim D2 comme date
Dim Razn aussi longtemps
D1 \u003d DATERIAL (1983, 10, 14)
D2 \u003d DATERIAL (2002, 8, 15)
Razn \u003d D2 - D1 "Différence dans les jours (6880).

Comparaison des opérateurs

Utilisé pour comparer certaines expressions. Avoir 3 syntaxes:

Syntaxe:

résultat = expression1 opérateur expression2.
résultat = objet1 EST. objet2.
résultat = ligne Comme goûter

Paramètres:

résultat obligatoire; Toute variable numérique
expression nécessairement; Tout prononcé
opérateur obligatoire; Tout opérateur de comparaison
un objet obligatoire; Nom de n'importe quel objet
ligne obligatoire; Tout fort exprimé.
goûter obligatoire; Toute expression de chaîne, ou une gamme de lettres et de chiffres

Remarques:

Le tableau suivant contient une liste des opérateurs de comparaison et les conditions pour lesquelles le résultat de l'expression (vrai ou faux) est déterminé.

Opérateur

Vrai si

Faux si

Null, si

< (меньше чем) expression1 <
expression2.
expression1 >=
expression2.

une
de
Les expressions contiennent null

<= (меньше или равно) expression1 <=
expression2.
expression1 >
expression2.
\u003e (plus que) expression1 >
expression2.
expression1 <=
expression2.
\u003e \u003d (plus ou égal) expression1 >=
expression2.
expression1 <
expression2.
\u003d (égal) expression1 =
expression2.
expression1 <>
expression2.
<> (inégal) expression1 <>
expression2.
expression1 =
expression2.

Est et les opérateurs comme des fonctions spécifiques et leur tableau de comparaison diffère de la question (nous les examinerons ci-dessous).

Lorsque deux expressions sont comparées, vous ne pouvez pas toujours déterminer ce qui sera comparé, chiffres ou lignes. Vous trouverez ci-dessous la manière dont le résultat sera calculé si les deux expressions ont un type différent de la variante:

  • S'il y a à la fois des expressions du nombre (octete, booléen, entier, long, unique, double, date, devise ou décimale), il existe une comparaison de chiffres.
  • Si les deux expressions de la ligne, les lignes sont comparées. (La plus petite chaîne de celle des lettres, les premières et suivantes dont j'ai un code ASCII plus petit).
  • Si l'une des expressions numériques et une autre variante, qui peut être interprétée comme un numéro, il existe une comparaison de chiffres.
  • Si l'une des expressions est le numéro et la ligne variante qui ne peut pas être interprétée comme un numéro, une erreur se produit (type inadéquation).
  • Si l'une des expressions de la chaîne, et une autre valeur variante (même NULL), il existe une comparaison de chaînes.
  • Si l'une des expressions vides, et un autre nombre, il existe une comparaison des chiffres où vides est considéré comme 0.
  • Si l'une des expressions vides, et une autre chaîne, les lignes sont comparées où Vide est considérée comme une chaîne vide "".

Si la première expression et la seconde sont une variante de type, les expressions sont comparées, selon les types de données que la variante contient:

  • Si les deux expressions de variantes contiennent des chiffres, il y a une comparaison de chiffres.
  • Si les deux expressions de variantes contiennent des lignes, les lignes se comparent.
  • Si l'une des variantes contient un numéro et une autre ligne, l'expression numérique est inférieure à la chaîne.
  • Si l'une des différentes expressions vides, et un autre nombre, alors vides est considéré comme 0.
  • Si l'une des différentes expressions vides, et une autre ligne, alors vide est considérée comme une chaîne vide "".
  • Si les deux expressions vides sont considérées comme égales.

Lorsque la variable unique est comparée à Double, le double est arrondi à la précision du célibataire.

Si la devise est comparée à une seule ou double, unique ou double est convertie en devise. De même, lorsque la comparaison décimale avec simple ou double, alors simple ou double est convertie en décimale. Pour la monnaie, toute partie fractionnée est inférieure à 0,0001, peut être perdue. Pour décimale, cette valeur est 1E-28 ou une erreur peut se produire. Ainsi, avec la perte de partie fractionnée, les expressions peuvent être interprétées comme égales, bien que, bien que, l'une des autres sera différente. (Bien que sur une petite signification).

Exemples:

Faible MyResult, var1, var2
Myresult \u003d (45< 35) " Revenu Faux.
MyResult \u003d (45 \u003d 45) " Revenu Vrai.
MyResult \u003d (4<> 3) " Revenu Vrai.
MyResult \u003d ("5"\u003e "4") " Revenu Vrai.

Var1 \u003d "5": var2 \u003d 4 "Vous pouvez utiliser un colon dans VB,
"Séparer les opérateurs.

MyResult \u003d (var1\u003e var2) " Revenu Vrai.

Var1 \u003d 5: var2 \u003d Vider.
MyResult \u003d (var1\u003e var2) " Revenu Vrai.

Var1 \u003d 0: var2 \u003d Vider.
MyResult \u003d (var1 \u003d var2) " Revenu Vrai.

Est l'opérateur de comparaison

Cet opérateur est utilisé pour comparer les variables de produits.

La syntaxe de cet opérateur est donnée ci-dessus.

Remarques:

Si l'objet1 et l'objet1 font référence au même objet, le résultat est vrai, sinon, alors faux. Deux variables peuvent se référer au même objet avec plusieurs chemins. Dans l'exemple suivant, un désigne le même objet que B:

Set A \u003d B

L'exemple suivant fait que les variables A et B se réfèrent au même objet - C:

SET A \u003d C
SET B \u003d C

Exemples:

Faible MyObject, YourObject, ThisObject, _
AutresObject, ThatObject, mycheck

Définir votreogject \u003d myObject "Créer des liens vers des objets
Définir ceciObject \u003d myObject
Sethaject \u003d AutresObject
Mycheck \u003d YechObject est ThiObject "reviendra vrai.
MyCheck \u003d ThatObject est CeciObject "reviendra faux.
"Nous supposons que myObject<> AutreObject.
MyCheck \u003d myObject est whoObject "retournera false.

Opérateur de comparaison de ligne - comme

L'opérateur de comparaison de lignes similaire est utilisé pour comparer les chaînes.

La syntaxe de cet opérateur a déjà été discutée ci-dessus.

Commenter:

Cet opérateur peut être utilisé pour vérifier la chaîne de chaîne sur le masque de motif. C'est un opérateur très puissant, presque analogue d'expressions régulières à Perl.

Donc, ce perorateur fonctionne comme suit. Si la chaîne convient à un masque, le résultat est vrai. Si non - faux. Si l'une des expressions nulles - le résultat est également nul.

Le comportement de l'opérateur similaire dépend du type de type de comparaison par défaut de ligne. (Option Comparer l'opérateur).

Si le type binaire est défini (c'est-à-dire une comparaison binaire), les lignes sont comparées selon leurs codes ASCII (dans différents codages, il est différent). Cette séquence est généralement utilisée:

UNE.< B < E < Z < a < b < e < z < А < К < Я < а < к < я

Si le type de texte est défini (comparaison de texte). Avec cette comparaison, la séquence diffère de la précédente, ici sont de grandes et de petites lettres - égale:

(A \u003d a)< (А=а) < (B=b) < (E=e) < (К=к) < (Z=z) < (Я=я)

La fonction principale de l'opérateur similaire est une vérification sur la propriété d'une chaîne de masque. Dans le masque, vous pouvez utiliser les promotions suivantes. Symboles:

Toute personne séparée Symbole
* Nari ou plus de caractères
# N'importe quel chiffre (0-9).
N'importe qui un personnage séparé qui tombe dans la liste de charlist
[! Charlist] Toute personne Symbole Tomber sur la liste Charlist

Voici une petite remarque. Afin de vérifier l'accessoire de la chaîne sur un masque contenant des promotions. Simolas (c'est-à-dire vérifier, par exemple, existe-t-il une Simlla dans la chaîne [,?, #,], *), Alors vous devez conclure des crochets. Juste pour mettre un support séparé [ou], c'est impossible.

Lorsque vous spécifiez une liste de caractères, vous pouvez utiliser le tableau de bord (-). Par exemple, pour définir une séquence d'A à Z, vous devez utiliser un masque. Tout ce qui est entre parenthèses ne doit contenir aucun séparateur (espaces, virgules, etc.), sinon ils seront également inclus dans la séquence.

Il existe d'autres règles importantes lors de la vérification sur un masque:

  • (!) Un signe au début de la liste des caractères suggère de rechercher des caractères qui ne sont pas inclus dans cette liste. Si vous avez besoin de trouver le signe lui-même!, Alors vous devez mettre des crochets [!].
  • (-) Utilisé pour définir la gamme de caractères.
  • Lorsque la plage de symboles est spécifiée, elle doit augmenter les codes ASCII. Ceux. Bon masque, mais non.
  • La séquence est interprétée comme une chaîne vide "".

Exemples:

Faible Mycheck.
Mycheck \u003d "abbba" comme "A * a" revient vrai.
Mycheck \u003d "f" comme "" reviendra vrai.
Mycheck \u003d "F" Comme "[! A-Z]" reviendra de faux.
Mycheck \u003d "A2A" comme "A # A" reviendra vrai.
Mycheck \u003d "am5b" comme "un # [! C-e]" "revient vrai.
Mycheck \u003d "BAT123KHG" Comme "B? T *" "retourne vrai.
Mycheck \u003d "CAT123KHG" comme "B? T *" "reviendra de faux.

mystring \u003d "312t-87gd-8922"

Si ma chaîne. Comme "### - ## - ####" Alors ...

Opérateurs de concaténation Row

En fait, pour connecter les lignes de Visual Basic, vous pouvez utiliser uniquement 2 opérateurs. Ceci & +. L'opérateur + est décrit ci-dessus. Parler de la déclaration et.

opérateur de concaténation à chaîne - &

Utilisé pour concaténer deux expressions.

Syntaxe:

résultat = expression1 & expression2.

résultat obligatoire; Toute chaîne ou variante variante
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Si l'expression n'est pas une chaîne, elle est convertie en variante à chaîne. Le type de données de résultat est la chaîne uniquement lorsque les deux expressions sont de type chaîne. Sinon, le résultat de la variante de chaîne. Si les deux expressions nulles, le résultat est null. Toutefois, si une seule des expressions contient une valeur nulle, elle est interprétée comme une chaîne vide "". Vide est également interprété comme une chaîne vide "".

Exemples:

Faible Mystr.
Mystr \u003d "Bonjour" & "World"
" Revenu La chaîne "bonjour monde".
Mystr \u003d "Check" & 123 & "Vérifier"
"Remettre la chaîne" Check 123 check ".

Opérateurs logiques

C'est le groupe le plus intéressant de l'opérateur. Lors de la programmation, vous devez connaître leur travail et leur application (et non seulement sur Visual Basic).

Dans Visual Basic leurs 6 pièces. Considérez chaque opérateur en détail.

Opérateur et.

Utilisé pour effectuer une multiplication logique sur deux expressions.

Syntaxe:

résultat = expression1 Et. expression2.

résultat
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment l'opérateur et:

Si expression1 \u003d

et expression2 \u003d \u003d

Alors le résultat \u003d

Vrai. Vrai. Vrai.
Vrai. Faux Faux
Vrai. NUL NUL
Faux Vrai. Faux
Faux Faux Faux
Faux NUL Faux
NUL Vrai. NUL
NUL Faux Faux
NUL NUL NUL

Opérateur et est également utilisé pour vérifier les bits du nombre. Pour les bits, l'opérateur et l'opérateur fonctionne comme suit (à la recherche de gauche à droite)

0 0 0
0 1 0
1 0 0
1 1 1

Exemples:

Faible A, b, c, d, mycheck
Mycheck \u003d a\u003e b et b\u003e c Revenu Vrai.
Mycheck \u003d b\u003e a et b\u003e c " Revenu Faux.
Mycheck \u003d A\u003e B et B\u003e D " Revenu NUL.
Mycheck \u003d a et b " Revenu 8 (comparaison de bits).

Le dernier exemple considérera plus en détail. Le numéro 10 est représenté comme des bits comme suit (comme un tétrad, c'est-à-dire 4 bits):

Et numéro 8 comme ceci:

À la suite de l'opérateur et, selon le tableau ci-dessus, nous obtiendrons:

Ceux. 8. Pourquoi l'avions-nous fait? Nous l'avons fait pour vérifier si le quatrième bit est défini dans le numéro A? Après avoir reçu B, nous avons été convaincus que ce bit a été installé.

Ou opérateur

Utilisé pour faire un ajout logique de deux expressions.

Syntaxe:

résultat = expression1 Ou alors. expression2.

résultat obligatoire; N'importe quel nombre (y compris booléen) variable
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment fonctionne l'opérateur:

Si expression1 \u003d

et expression2 \u003d \u003d

Alors le résultat \u003d

Vrai. Vrai. Vrai.
Vrai. Faux Vrai.
Vrai. NUL Vrai.
Faux Vrai. Vrai.
Faux Faux Faux
Faux NUL NUL
NUL Vrai. Vrai.
NUL Faux NUL
NUL NUL NUL

Ou opérateur est utilisé pour installer certains bits du nombre. Pour les bits, l'opérateur ou fonctionne comme suit (à la recherche de gauche à droite)

0 0 0
0 1 1
1 0 1
1 1 1

Le résultat est mis en évidence en gras.

Exemples:

Faible A, b, c, d, mycheck
Mycheck \u003d a\u003e b ou b\u003e c Revenu Vrai.
Mycheck \u003d B\u003e A ou B\u003e C Revenu Vrai.
Mycheck \u003d a\u003e b ou b\u003e d Revenu Vrai.
Mycheck \u003d b\u003e d ou b\u003e a " Revenu NUL.
Mycheck \u003d a ou 5 " Revenu 15:

Laissez le dernier exemple en considérant plus en détail. Le numéro 10 est représenté comme des bits comme suit (comme un tétrad, c'est-à-dire 4 bits):

Et numéro 5:

À la suite de l'opérateur ou de l'opérateur, selon la table ci-dessus, nous obtiendrons:

Ceux. 15. Comme vous pouvez le constater, l'opérateur ou est très facilement et pratique à utiliser non seulement dans les expressions de comparaison, mais également d'installer certains bits du nombre.

Xor opérateur

Utilisé pour faire un déni logique de deux expressions.

Syntaxe:

résultat = expression1 Xor. expression2.

résultat obligatoire; N'importe quel nombre (y compris booléen) variable
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment fonctionne l'opérateur XOR:

La déclaration XOR est utilisée pour inverser certaines bits du nombre. Pour les bits, la déclaration XOR fonctionne comme suit (à la recherche de gauche à droite)

0 0 0
0 1 1
1 0 1
1 1 0

Le résultat est mis en évidence en gras. Le XOR diffère de ou, seulement le fait que lorsque les deux bits d'unités, XOR donnent 0. La déclaration XOR est intéressante pour la propriété, alors lorsqu'elle est à double utilisation, elle donne le même numéro. Ceci est souvent utilisé dans la cryptographie.

Exemples:

Faible A, b, c, d, mycheck
A \u003d 10: B \u003d 8: C \u003d 6: D \u003d null
Mycheck \u003d a\u003e b xor b\u003e c " Revenu Faux.
Mycheck \u003d b\u003e un xor b\u003e c " Revenu Vrai.
Mycheck \u003d B\u003e un xor c\u003e b " Revenu Faux.
Mycheck \u003d B\u003e D XOR A\u003e B " Revenu NUL.
Mycheck \u003d un xor b " Revenu 2

Un exemple intéressant d'utiliser un opérateur XOR est l'échange de deux variables numériques:

Dim A. Aussi longtemps, b aussi longtemps
A \u003d 4.
B \u003d 7.
a \u003d un xor b
B \u003d un xor b
a \u003d un xor b

Maintenant, la variable A contient la valeur de la variable B, et inversement.

Opérateur non.

Utilisé pour faire un inverseur logique deux expressions.

Syntaxe:

résultat \u003d Pas. expression

résultat obligatoire; N'importe quel nombre (y compris booléen) variable
expression nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment fonctionne l'opérateur de non-opérateur:

L'opérateur inverse toutes les bits expressions.Pour les bits, l'opérateur pas fonctionne comme suit (regarder de gauche à droite):

0 1
1 0

Le résultat est mis en évidence en gras.

Exemples:

Faible A, b, c, d, mycheck
A \u003d 10: B \u003d 8: C \u003d 6: D \u003d null
Mycheck \u003d pas (a\u003e b) " Revenu Faux.
Mycheck \u003d pas (b\u003e a) " Revenu Vrai.
Mycheck \u003d pas (c\u003e d) " Revenu NUL.
Mycheck \u003d pas un " Revenu -11 (tous les bits sont inversés)

Considérez plus le dernier exemple. Le numéro 10 est présenté sous forme de bits comme suit (comme des octets, I.E. 8 bits):

Après inversion de tous les bits, nous obtenons:

Et ceci est -11.

Opérateur EQV

Utilisé pour faire une équivalence logique de deux expressions.

Syntaxe:

résultat = expression1 Eqv. expression2.

résultat obligatoire; N'importe quel nombre (y compris booléen) variable
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment fonctionne l'opérateur EQV:

Pour les bits, l'opérateur EQV fonctionne comme suit (regarder de gauche à droite)

0 0 1
0 1 0
1 0 0
1 1 1

Exemples:

Faible A, b, c, d, mycheck
A \u003d 10: B \u003d 8: C \u003d 6: D \u003d null
Mycheck \u003d A\u003e B EQV B\u003e C " Revenu Vrai.
Mycheck \u003d B\u003e Un EQV B\u003e C " Revenu Faux.
Mycheck \u003d A\u003e B EQV B\u003e D " Revenu NUL.
Mycheck \u003d un eqv b " Revenu -3

Imp. Opérateur

Utilisé pour faire une implication logique de deux expressions.

Syntaxe:

résultat = expression1 Lutin expression2.

résultat obligatoire; N'importe quel nombre (y compris booléen) variable
expression1 nécessairement; Toute expression
expression2. nécessairement; Toute expression

Remarques:

Le tableau suivant montre comment fonctionne l'opérateur de l'IMP:

Si expression1 \u003d

et expression2 \u003d \u003d

Alors le résultat \u003d

Vrai. Vrai. Vrai.
Vrai. Faux Faux
Vrai. NUL NUL
Faux Vrai. Vrai.
Faux Faux Vrai.
Faux NUL Vrai.
NUL Vrai. Vrai.
NUL Faux NUL
NUL NUL NUL

Pour les bits, l'opérateur de l'IMP fonctionne comme suit (à la recherche de gauche à droite)

0 0 1
0 1 1
1 0 0
1 1 1

Exemples:

Faible A, b, c, d, mycheck
A \u003d 10: B \u003d 8: C \u003d 6: D \u003d null
Mycheck \u003d A\u003e B IMPL B\u003e C " Revenu Vrai.
Mycheck \u003d A\u003e B Imp C\u003e B " Revenu Faux.
Mycheck \u003d B\u003e a Imp C\u003e B " Revenu Vrai.
Mycheck \u003d B\u003e a Imp C\u003e D " Revenu Vrai.
Mycheck \u003d c\u003e d Imp B\u003e a " Revenu NUL.
Mycheck \u003d b Imp a Retour -1

Le programme VBA est une séquence d'opérateurs.

Lors de l'élaboration de programmes, un certain nombre d'accords devraient être suivis. Donc, sur une ligne, vous pouvez placer plusieurs opérateurs. Entre les opérateurs d'une ligne mettez le côlon.

Toute chaîne peut être divisée en deux, située à la fin des premiers signes des symboles "Espace" + "Signe de soussecore" (_), dans ce cas, la deuxième ligne sera considérée comme une continuation du premier.

Afin de rendre le programme facilement lisible, utilisez des commentaires. Dans la langue VBA, il existe deux façons d'entrer des commentaires: l'utilisation de l'apostrophe ('), qui peut être placée n'importe où dans la ligne et le mot réservé REM au lieu de l'apostrophe.

1. Diminution de l'opérateurconçu pour déclarer des variables.

· Dim A comme entier - la variable A est déclarée en tant qu'oeur, c'est-à-dire Seules les valeurs entières seront stockées dessus. .

· Dim D comme date - la variable D est déclarée stocker des dates.

· Diminuer le nom de famille, Nom comme chaîne - arrêté. Nom de famille et nom pour le stockage de texte.

· Dim B (12) comme entier - une matrice unidimensionnelle est déclarée (vecteur) composée de 12 entiers et par défaut, le premier élément du tableau sera B (0) et le dernier B (12).

· Dim B (3.3) comme célibataire - un tableau bidimensionnel 3x3 (matrice), constitué de nombres valides, est déclaré.

Si le type de variable n'est pas spécifié, la variante de type par défaut est utilisée. Cependant, la spécification d'un type spécifique de variable rend le programme de manière plus fiable et la vitent de manière plus fiable, car VBA n'a pas besoin de passer du temps sur la reconnaissance d'une variable non déclarée avec chaque accès à celui-ci.

Si la taille du tableau M n'est pas connue à l'avance et est déterminée pendant le programme, alors lors de la description de la matrice, le nombre d'éléments n'est pas indiqué et que la matrice est déterminée comme suit:

Dim m () comme entier

Après avoir déterminé le nombre d'éléments de tableau, par exemple, N, il est nécessaire d'enregistrer l'opérateur

2. Opérateur d'application Conçu pour affecter une variable de toute valeur.

Syntaxe:

Variable (ou propriété d'objet) \u003d expression.

· A \u003d 5 - variable A attribue une valeur de 5 ;

· B \u003d "Manager" - variable B. attribuer Ce qui signifie "manager";

· Adresse \u003d feuilles ("organisations"). Cellules (2,2) - une adresse variable attribue le contenu de la cellule B2, située sur une feuille d'organisation dans le carnet de travail actuel;

· Nom de famille \u003d userForm1.textbox1.text - variable Nom de famille Attribuez le contenu du formulaire utilisateur de l'utilisateur1 Textebox1.

3. Opérateur avec / fin avecassure un programmeur d'un grand nombre de répétitions du même objet.

Syntaxe:

Avec objet

opérateur1

opérateur2.



opérateur

Par exemple, au lieu d'une séquence d'opérateurs

Userform1.textbox1.text \u003d date.

UserForm1.textbox2.text \u003d ""

UserForm1.combobox1.text \u003d ""

vous pouvez écrire

Textbox1.text \u003d date.

. Textbox2.text \u003d ""

. Combobox1.text \u003d ""

REM sur une feuille de feuille1 dans la colonne A, à partir de la deuxième ligne, a enregistré les tarifs des employés. Remplissez la liste Combobox1 dans 'UserForm1

"La première ligne du programme - sur une feuille de feuille1 dans la colonne A" Le nombre de cellules remplies est calculé, le résultat est attribué à la variable n

N \u003d application.Counta (feuilles ("feuille1"). Plage ("A: A")).

D \u003d "A2: a" & cint (n)

Feuilles ("list1"). Plage (D) .name \u003d "Tarifs"

Textbox1.text \u003d date.

. Textbox2.text \u003d ""

. Combobox1.text \u003d ""

. Combobox1.rowsource \u003d "Tarifs"

4. Opérateur conditionnel si / puis / sinon - vous permet de vérifier une certaine condition et, en fonction des résultats de la vérification, de l'exécuter ou de cette action

Syntaxe:

Si état Puis. Opérateurs1 [ AUTRE. Opérateurs2]

Si la condition est vraie, les opérateurs sont en cours d'exécution1, sinon les opérateurs sont effectués.

Il est également autorisé à utiliser un opérateur conditionnel complexe, écrit comme bloc:

Si Condition1 Puis.

opérateurs1

Ailleurscondition2 Puis.

Nom du paramètre Valeur
Thème de l'article: Opérateurs VBA
Rubrique (catégorie thématique) Programmation

VBA - Langue de l'opérateur. Cela signifie que ses programmes (procédures ou fonctions) représentent les séquences des opérateurs.

Les groupes d'opérateurs suivants peuvent être distingués dans la langue VBA:

1. Les opérateurs déclaratifs conçus pour décrire les objets avec lesquels le programme fonctionne (types de variables, constantes et tableaux, etc.),

2. Opérateurs - Commentaires,

3. Les opérateurs d'affectation et les modifications des objets d'objets,

4. Opérateurs contrôlant la course des calculs (conditionnel, cyclique, transition).

Dans ce cours, les principaux opérateurs seront pris en compte et certains, par exemple, cycliques, trois espèces seront présentées, mais les étudiants ne devraient maîtriser qu'un seul, comme le plus compréhensible à utiliser.

Commentaires Opérateur

Les commentaires sur l'exécution du programme n'affectent pas, mais nécessaires à la compréhension de l'algorithme. Étant donné que les programmes sont mis à niveau à plusieurs reprises, il est impératif d'utiliser des commentaires pour mémoriser l'algorithme et le changer correctement.

Toute ligne du texte du programme peut se terminer par un commentaire. Le commentaire VBA commence comme une Apostrophe (") et inclut tout texte situé dans la rangée.

Par exemple,

Poids \u003d Poids + Z "Augmentation de la perte de poids \u003d poids * Prix" Nouvelle valeur

Opérateur d'application

Les opérateurs d'affectation sont les principaux moyens de modifier l'état du programme (valeurs variables). C'est un design qui lie les signes \u003d variable (partie gauche) et expression (côté droit). L'expression est composée d'opérandes (noms variables, constantes, fonctions standard) et opérations d'opérations (arithmétiques, logiques, chaînes, comparaisons). La signification de cet opérateur est que le côté gauche est attribué à la valeur de la partie droite.

Opérateurs de gestionnaires

Un ensemble d'opérateurs de contrôle VBA correspond à un langage de programmation structuré. Cet ensemble comprend opérateurs conditionnels et opérateurs de cycleCela vous permet d'organiser le processus de calcul de manière fiable et efficace.

Opérateur conditionnel s'il est alors parti fin si

Ceci est généralement accepté dans les langages de programmation, l'opérateur de contrôle de calcul vous permet de choisir et de réaliser des actions en fonction de la vérité de certaines conditions.

Les opérateurs VBA sont des concepts et des types. Classification et caractéristiques de la catégorie "Opérateurs VBA" 2017, 2018.

  • - Opérateurs de vie et quantité

    Cette catégorie de dialaires en Triz est représentée comme «Principe n ° 34, déchets et régénération des parties: a) qui a complété son but ou une partie inutile de l'objet doit être jetée (dissoute, évaporée, etc.) ou modifiée directement pendant travail. b) ....


  • - Éléments de langue VBA

    Figure. 12.1 Objets situés sur le formulaire 6. Activation du formulaire séparément chaque objet, définissez sa propriété à l'aide de la fenêtre Propriétés (Propriétés de la figure 12.2). Ainsi, l'interface est créée (Fig. 12.3). Figure. 12.3. Interface de projet (avec ....


  • - Opérateurs conditionnels

    Opérateur composé. Opérateurs structurels Appelez la procédure opérateur L'opérateur de transition inconditionnel fournit une capacité à modifier l'ordre d'exécution ....


  • - Conditions d'opérateurs composites

    Parfois, lors de la résolution des tâches, la situation se produit lorsqu'elle peut, à son tour, être d'autres revitaliseurs dans les branches. Ils s'appellent des opérateurs composites. De plus, le nombre d'investissements ou, comme on disent, les niveaux d'investissements peuvent être ....


  • - Basics VBA.

    Visual Basic for Application (VBA) est une combinaison de l'une des langages de programmation les plus simples et de toutes les capacités de calcul du processeur tabulaire Excel. Avec VBA, vous pouvez facilement et rapidement créer une variété d'applications, pas même un spécialiste sur le terrain ...

  • En règle générale, les opérations de comparaison sont utilisées dans les opérateurs d'organisation du cycle afin de prendre une décision sur la poursuite des opérations.

    Le résultat de toute opération de comparaison est la valeur du type booléen: vrai, faux.

    Si les deux opérandes de l'expression de comparaison ont le même type de données, VBA effectue une comparaison simple pour ce type.

    Si les deux opérandes de l'expression de comparaison ont certains types et ces types ne sont pas compatibles, VBA émet un message sur l'erreur des types de types.

    Si l'une ou les deux opérandes dans l'expression de comparaison est des variables de la variante de type, VBA tente de convertir la variante de type en n'importe quel type compatible.

    Comparaison de la chaîne

    Lors de la comparaison des rangées par les opérateurs de la relation, VBA compare chaque ligne de gauche à droite dans la prévaloir.

    Dans VBA, une ligne n'est une autre que lorsque les deux lignes contiennent exactement les mêmes caractères dans exactement le même ordre et les deux cordes ont la même longueur. Par exemple, les lignes "ABVGD" "ABVGD" "ABVGD" ne sont pas égales les unes aux autres, car VBA n'ignore pas les symboles initiaux ou finaux de l'espace lors de la comparaison des rangées.

    Vous devriez être attentif lorsque vous comparez des lignes de longueur variable.

    Lignes de comparaison binaire et de texte

    Pour enregistrer le texte, l'ordinateur utilise un schéma dans lequel chaque caractère affiché a un numéro unique. Toutes les lettres de l'alphabet ont leurs propres chiffres. Habituellement, les lettres du registre supérieur ont des nombres plus petits que les lettres du registre inférieur. Le nombre correspondant à une lettre ou à une lettre spécifique est appelée code de symbole.

    Lorsque vous effectuez une comparaison binaire des informations de chaîne VBA utilise un numéro équivalent binaire pour chaque symbole. Cette méthode de comparaison est appelée binaire ou alors binaire et est la méthode de comparaison par défaut.

    Parce que Les lettres du registre supérieur ont des nombres binaires plus petits, les lettres du registre supérieur sont situées par ordre alphabétique avant les lettres du registre inférieur. Par conséquent, avec une comparaison binaire des lignes, la chaîne ABB sera inférieure à la ligne ABB.


    Avec la comparaison de texte, VBA Strings n'utilise pas d'équivalent binaire de caractères et ne distingue pas les registres supérieurs et inférieurs. Dans la comparaison de texte, la chaîne ABB est égale à la chaîne ABV.

    Pour sélectionner la méthode de comparaison de ligne, la directive Comparer l'option est utilisée.


    Option comparer.


    Cette directive doit être dans la déclaration de champ du module.

    Concaténation de la chaîne

    Rejoindre une ligne à une autre appelée concatage de la chaîne.

    La concaténation des chaînes est généralement utilisée pour former des lignes de différentes sources de la procédure afin de créer un message à afficher. VBA a deux opérateurs pour la concaténation de la ligne.

    Opérateur de concaténation (&)

    L'opérateur (&) de VBA n'est utilisé que pour la concaténation de la ligne.

    Syntaxe


    Operand_1 & Operand_2 [& Operand_3 ..]


    Operand_n - toute chaîne admissible ou expression numérique (qui est convertie en une chaîne).

    Type de données de données String concontine - String.

    Si l'opérande de l'expression de concaténation en ligne est vide ou NULL, VBA interprète cet opérande sous forme de chaîne de longueur de zéro (une chaîne ne contient pas de symboles).

    Noter! Le symbole de fonctionnement concaténate (&) doit être séparé par un espace pour le compte de la variable, car Sinon, VBA peut interpréter ce symbole sous forme de symbole de la définition de type longue.

    Opérateur de réglage dans la concaténation en ligne

    Pour concaténer des lignes, vous pouvez également utiliser l'opérateur (+).

    Cet opérateur a la même syntaxe et les mêmes exigences, ainsi que l'opérateur (&). Cependant, il faut comprendre que dans la VBA, l'objectif principal de l'opérateur (+) est un ajout arithmétique. Par conséquent, afin d'éviter l'ambiguïté de la lecture du code du programme, il est fortement recommandé d'utiliser l'opérateur (&) pour concaténer des chaînes.

    Priorités pour effectuer des opérations

    De nombreuses expressions du code du programme sont complexes (composite), c'est-à-dire Se composent de deux expressions ou plus.

    Lors du calcul des expressions complexes, VBA suit les règles suivantes:

    • Les parties de l'expression clôturées entre parenthèses sont toujours calculées principalement;
    • Les opérations spécifiques sont effectuées en fonction de la hiérarchie de l'opérateur (tableau ci-dessous);
    • Dans l'égalité de la hiérarchie des opérateurs, ils sont calculés de gauche à droite.
    Opérateur
    Avez-vous aimé l'article? Partager avec des amis: