Vba λογικό ή. Χειριστές VBA και ενσωματωμένες λειτουργίες. Λανθασμένη μεταφορά Σωστή μεταφορά

Όνομα παραμέτρου Εννοια
Θέμα άρθρου: Χειριστές VBA
Ρουμπρίκα (θεματική κατηγορία) Προγραμματισμός

Το VBA είναι μια γλώσσα χειριστή. Αυτό σημαίνει ότι τα προγράμματά του (διαδικασίες ή συναρτήσεις) αντιπροσωπεύουν ακολουθίες δηλώσεων.

Στη γλώσσα VBA μπορούμε να διακρίνουμε τις ακόλουθες ομάδεςχειριστές:

1. δηλωτικοί τελεστές που προορίζονται να περιγράψουν αντικείμενα με τα οποία λειτουργεί το πρόγραμμα (τύποι μεταβλητών, σταθερές και πίνακες, κ.λπ.),

2. δηλώσεις σχολίων,

3. τελεστές για την εκχώρηση και την αλλαγή τιμών αντικειμένων,

4. τελεστές που ελέγχουν την πρόοδο των υπολογισμών (συνθήκη, κυκλική, μετάβαση).

ΣΕ αυτό το μάθημαΘα ληφθούν υπόψη οι βασικοί τελεστές και ορισμένοι, για παράδειγμα, οι κυκλικοί, θα παρουσιαστούν σε τρεις τύπους, αλλά οι μαθητές θα πρέπει να κατέχουν μόνο έναν, ως τον πιο κατανοητό για χρήση.

Χειριστής σχολίων

Τα σχόλια δεν επηρεάζουν την εκτέλεση του προγράμματος, αλλά είναι απαραίτητα για την κατανόηση του αλγορίθμου. Επειδή τα προγράμματα ενημερώνονται πολλές φορές, είναι σημαντικό να χρησιμοποιείτε σχόλια για να σας βοηθήσουν να θυμάστε τον αλγόριθμο και να τον αλλάξετε σωστά.

Οποιαδήποτε γραμμή κειμένου προγράμματος μπορεί να τελειώσει με ένα σχόλιο. Ένα σχόλιο στο VBA ξεκινά με απόστροφο (") και περιλαμβάνει οποιοδήποτε κείμενο στα δεξιά της γραμμής.

Π.χ,

Βάρος= βάρος+z "Αύξηση βάρους αξία=βάρος*τιμή "Νέο κόστος

Χειριστής ανάθεσης

Οι τελεστές εκχώρησης είναι το κύριο μέσο αλλαγής της κατάστασης του προγράμματος (μεταβλητές τιμές). Είναι μια κατασκευή που συνδέει το σύμβολο = μεταξύ μιας μεταβλητής (αριστερή πλευρά) και μιας έκφρασης (δεξιά πλευρά). Μια έκφραση αποτελείται από τελεστές (ονόματα μεταβλητών, σταθερές, ονόματα τυπικών συναρτήσεων) και σύμβολα πράξεων (αριθμητική, λογική, συμβολοσειρά, σύγκριση). Η έννοια αυτού του τελεστή είναι ότι στην αριστερή πλευρά εκχωρείται η τιμή της δεξιάς πλευράς.

Δηλώσεις ελέγχου

Το σύνολο των δηλώσεων ελέγχου VBA αντιστοιχεί σε δομημένη γλώσσαπρογραμματισμός. ΣΕ αυτό το σετπεριλαμβάνεται εντολές υπό όρους και βρόχου, το οποίο σας επιτρέπει να οργανώσετε τη διαδικασία υπολογισμού αξιόπιστα και αποτελεσματικά.

Δήλωση υπό όρους If then Else End If

Αυτός είναι ένας ευρέως χρησιμοποιούμενος τελεστής ελέγχου υπολογισμού σε γλώσσες προγραμματισμού που σας επιτρέπει να επιλέξετε και να εκτελέσετε ενέργειες με βάση την αλήθεια μιας συγκεκριμένης συνθήκης.

Τελεστές VBA - έννοια και τύποι. Ταξινόμηση και χαρακτηριστικά της κατηγορίας "VBA Operators" 2017, 2018.

  • - Φορείς Διατήρησης Ζωής και Ποσότητας

    Αυτή η κατηγορία Dial στο TRIZ παρουσιάζεται ως «αρχή Νο. 34, απόρριψη και αναγέννηση εξαρτημάτων: α) Ένα μέρος ενός αντικειμένου που έχει εκπληρώσει τον σκοπό του ή έχει καταστεί περιττό πρέπει να απορριφθεί (διαλυθεί, εξατμιστεί κ.λπ.) ή να τροποποιηθεί απευθείας κατά τη διάρκεια της εργασίας. β)... .


  • - Στοιχεία γλώσσας VBA

    Ρύζι. 12.1 Τοποθετημένα αντικείμενα στη φόρμα 6. Ενεργοποιώντας κάθε αντικείμενο ξεχωριστά στη φόρμα, ορίζουμε την ιδιότητά του χρησιμοποιώντας το παράθυρο ιδιοτήτων (Ιδιότητες Εικ. 12.2). Έτσι, δημιουργείται η διεπαφή (Εικ. 12.3). Ρύζι. 12.3. Διεπαφή έργου (με... .


  • - Δηλώσεις υπό όρους

    Σύνθετος χειριστής. Δομικοί τελεστές Διαδικασία κλήσης χειριστή Χειριστής άνευ όρων άλματος Ο τελεστής άνευ όρων άλματος παρέχει τη δυνατότητα αλλαγής της σειράς εκτέλεσης... .


  • - Σύνθετες δηλώσεις υπό όρους

    Μερικές φορές, κατά την επίλυση προβλημάτων, προκύπτει μια κατάσταση όταν οι τελεστές που περιέχονται στους κλάδους μπορεί, με τη σειρά τους, να περιέχουν άλλους τελεστές υπό όρους. Αυτοί ονομάζονται σύνθετοι τελεστές. Επιπλέον, ο αριθμός των επενδύσεων ή, όπως λένε επίσης, τα επίπεδα των επενδύσεων μπορεί να είναι... .


  • - Βασικά VBA

    Visual BasicΤο For Application (VBA) είναι ένας συνδυασμός μιας από τις απλούστερες γλώσσες προγραμματισμού και όλων των υπολογιστικών δυνατοτήτων του υπολογιστικού φύλλου Excel. Χρησιμοποιώντας το VBA, μπορείτε εύκολα και γρήγορα να δημιουργήσετε μια ποικιλία εφαρμογών, ακόμη και χωρίς να είστε ειδικός στον τομέα...

  • Σύντομες θεωρητικές πληροφορίες

    1. Σύνταξη και σημασιολογία της γλώσσας προγραμματισμού VBA

    Η σύνταξη μιας γλώσσας προγραμματισμού είναι ένα σύνολο κανόνων που περιγράφουν συνδυασμούς αλφαβητικών χαρακτήρων που θεωρούνται σωστά δομημένο πρόγραμμα (έγγραφο) ή τμήμα του.

    Οι βασικές συντακτικές αρχές αυτής της γλώσσας είναι οι εξής:

    • Το VBA δεν κάνει διάκριση πεζών-κεφαλαίων.
    • για να σχολιάσετε τον κώδικα μέχρι το τέλος της γραμμής, χρησιμοποιήστε ενιαίο απόσπασμα(") ή εντολή REM.
    • Οι τιμές χαρακτήρων πρέπει να περικλείονται σε διπλά εισαγωγικά (").
    • το μέγιστο μήκος οποιουδήποτε ονόματος στο VBA (μεταβλητές, σταθερές, διαδικασίες) είναι 255 χαρακτήρες.
    • έναρξη νέας δήλωσης - μεταφορά σε νέα γραμμή(η τελεία, όπως στα C, Java, JavaScript, δεν χρησιμοποιείται για αυτό).
    • περιορισμούς σε μέγιστο μήκοςδεν υπάρχει γραμμή (αν και στον επεξεργαστή χωρούν μόνο 308 χαρακτήρες σε μια γραμμή). Πολλαπλές δηλώσεις στην ίδια γραμμή χωρίζονται με άνω και κάτω τελεία:
      MsgBox "Check 1" : MsgBox "Check 2"
    • Για ευκολία στην ανάγνωση, μπορείτε να συνδυάσετε πολλές φυσικές γραμμές σε μία λογική χρησιμοποιώντας ένα κενό και μια υπογράμμιση μετά από αυτό:
      MsgBox "Μήνυμα στον χρήστη" _
      &vΌνομα χρήστη

    Η σημασιολογία μιας γλώσσας είναι η σημασιολογική σημασία των λέξεων. Στον προγραμματισμό - η αρχική σημασιολογική σημασία των τελεστών, οι βασικές γλωσσικές κατασκευές κ.λπ.

    Χειριστήςείναι η μικρότερη μονάδα κώδικα VBA που μπορεί να εκτελεστεί. Μια δήλωση μπορεί να δηλώσει ή να ορίσει μια μεταβλητή, να ορίσει μια επιλογή μεταγλωττιστή VBA ή να εκτελέσει κάποια ενέργεια σε ένα πρόγραμμα.

    ΑριθμητικήΥπάρχουν μόνο 7 χειριστές στο VBA.

    Τέσσερα τυπικά: πρόσθεση (+), αφαίρεση (−), πολλαπλασιασμός (*), διαίρεση (/) και άλλα τρία:

    • εκφοράς (^). Για παράδειγμα, 2^3 = 8;
    • διαίρεση ακέραιου αριθμού (\). Διαιρεί τον πρώτο αριθμό με τον δεύτερο, απορρίπτοντας (χωρίς στρογγυλοποίηση) το κλασματικό μέρος. Για παράδειγμα, 5\2 = 2;
    • modulo division (Mod). Διαιρεί τον πρώτο αριθμό με τον δεύτερο, επιστρέφοντας μόνο το υπόλοιπο της διαίρεσης. Για παράδειγμα, 5 Mod 2 = 1.

    Ο τελεστής εκχώρησης στο VBA είναι το σύμβολο ίσον. Μπορείτε να το γράψετε ως εξής:

    Έστω nVar = 10
    ή ακόμα πιο απλά:
    nVar = 10

    Εδώ, μην συγχέετε το σύμβολο ίσον με τον τελεστή ίσον. Η τελευταία έκφραση σημαίνει "ορίστε την τιμή του nVar στο 10", και αν η γραμμή μοιάζει με αυτό: Εάν (nVar = 10) , τότε σημαίνει "αν η τιμή του nVar είναι 10".

    Σύγκριση τελεστώνστο VBA υπάρχουν μόνο 8:

    • ισότητα (=). Για παράδειγμα, If (nVar = 10);
    • μεγαλύτερο από (>) και μικρότερο από (10).
    • μεγαλύτερο από ή ίσο με (>=) και μικρότερο ή ίσο του (= 10);
    • όχι ίσο (). Για παράδειγμα, If(nVar10);
    • σύγκριση αντικειμένων (Είναι). Καθορίζει εάν οι μεταβλητές αντικειμένου αναφέρονται στο ίδιο αντικείμενο ή σε διαφορετικά. Για παράδειγμα, Αν (obj1 είναι obj2);
    • ομοιότητα (Like). Συγκρίνει ένα αντικείμενο συμβολοσειράς με ένα μοτίβο και καθορίζει εάν το μοτίβο ταιριάζει.

    Οι τελεστές σύγκρισης επιστρέφουν πάντα Αληθής(αν η δήλωση είναι αληθής) ή Ψευδής(αν η δήλωση είναι ψευδής).

    Πολύ συχνά, κατά τον έλεγχο πολλών συνθηκών, χρησιμοποιούν λογικούς τελεστές:

    • Και - λογικό ΚΑΙ. Και οι δύο προϋποθέσεις πρέπει να είναι αληθείς.
    • Ή - λογικό Ή. Τουλάχιστον μία από τις προϋποθέσεις πρέπει να ισχύει.
    • Όχι - λογική άρνηση. Επιστρέφει True εάν η συνθήκη είναι ψευδής.
    • Το Xor είναι μια λογική εξαίρεση. Στην έκφραση E1 Xor E2 επιστρέφει True εάν μόνο E1 = True ή μόνο E2 = True, διαφορετικά False.
    • Eqv - ισοδυναμία δύο παραστάσεων, επιστρέφει True εάν έχουν την ίδια τιμή.
    • Imp - υπονοούμενο, E1 Imp E2 επιστρέφει False εάν E1 = True και E2 = False, διαφορετικά True.

    Πρέπει να θυμάστε για Και, Ή, Όχι, άλλοι λογικοί τελεστές χρησιμοποιούνται σπάνια.

    Μεταβλητές- Αυτά είναι δοχεία για την αποθήκευση μεταβλητών δεδομένων. Σχεδόν κανένα πρόγραμμα δεν μπορεί να κάνει χωρίς αυτά. Για απλότητα, μια μεταβλητή μπορεί να συγκριθεί με έναν αριθμό σε μια ντουλάπα - δίνετε κάποια δεδομένα στην ντουλάπα και ως απάντηση σας δίνεται ένας αριθμός. Όταν χρειαστείτε ξανά αυτά τα δεδομένα, «παρουσιάζετε τον αριθμό» και τον λαμβάνετε.

    Κάθε μεταβλητή έχει ένα όνομα. Η πρόσβαση σε μια μεταβλητή γίνεται με όνομα. Οι κανόνες για την επιλογή ονομάτων στο VBA είναι οι ίδιοι για πολλά στοιχεία (μεταβλητές, σταθερές, συναρτήσεις, διαδικασίες κ.λπ.):

    • το όνομα πρέπει να ξεκινά με ένα γράμμα.
    • δεν πρέπει να περιέχει κενά ή σύμβολα στίξης (εξαίρεση αποτελεί η υπογράμμιση).
    • μέγιστο μήκος - 255 χαρακτήρες.
    • πρέπει να είναι μοναδικό στο τρέχον πεδίο
    • Οι δεσμευμένες λέξεις (αυτές που επισημαίνονται με μπλε χρώμα στο παράθυρο του προγράμματος επεξεργασίας κώδικα) δεν μπορούν να χρησιμοποιηθούν.

    Κατά τη δημιουργία προγραμμάτων VBA, συνιστάται να αποφασίζετε για τους κανόνες με τους οποίους θα ονομάζονται τα αντικείμενα - μια σύμβαση ονομασίας. Η πιο συχνά χρησιμοποιούμενη είναι η λεγόμενη Ουγγρική συμφωνία (προς τιμήν ενός από τους προγραμματιστές της Microsoft, του Charles Simonyi, Ούγγρου στην εθνικότητα):

    • Το όνομα της μεταβλητής πρέπει να ξεκινά με ένα πρόθεμα, γραμμένο με πεζά γράμματα. Το πρόθεμα υποδεικνύει τι ακριβώς θα αποθηκευτεί σε αυτή τη μεταβλητή:
      str (ή s) - Συμβολοσειρά, τιμή χαρακτήρων.
      fn (ή f) - συνάρτηση.
      υποδιαδικασία·
      γ (ή όλα τα γράμματα του ονόματος είναι κεφαλαία) - συνεχής(ένα κοντέινερ για την αποθήκευση δεδομένων που, σε αντίθεση με τις μεταβλητές, δεν αλλάζει κατά την εκτέλεση ενός προγράμματος VBA).
      β - Boolean, λογική τιμή (True ή False).
      d - ημερομηνία;
      obj (ή o) - αναφορά αντικειμένου.
      n - αριθμητική τιμή.
    • Τα ονόματα των συναρτήσεων, των μεθόδων και κάθε λέξης σε μια σύνθετη λέξη πρέπει να ξεκινούν με κεφαλαίο γράμμα:
      MsgBox objMyDocument.Name
      Sub CheckDateSub()

    Τύπος δεδομένωνθεωρούνται οι πιο θεμελιώδεις έννοιες οποιασδήποτε γλώσσας προγραμματισμού. Ένας τύπος δεδομένων ορίζει το σύνολο των έγκυρων τιμών που μπορεί να λάβει μια τιμή (μεταβλητή ή σταθερά) και το σύνολο των ενεργειών που μπορούν να εκτελεστούν σε αυτήν την τιμή.

    2. Βασικοί τύποι δεδομένων VBA

    Η VBA παρέχει τους ακόλουθους τύπους δεδομένων:

    • αριθμητικός:
      Ψηφιόλεξη- ένας ακέραιος από 0 έως 255, απαιτείται για αποθήκευση 1 byteμνήμη;
      Ακέραιος αριθμός- ένας ακέραιος από −32.768 έως 32.767, 2 byte ;
      Μακρύς- ένας μεγάλος ακέραιος από −2 147 483 648 έως 2 147 483 647, 4 byte ;
      Νόμισμα(χρηματικό) - μεγάλο δεκαδικός αριθμόςμε 19 θέσεις, συμπεριλαμβανομένων 4 δεκαδικών ψηφίων
      (από –922337203685477.5808 έως 922337203685477.5807), 4 byte,
      χρησιμοποιείται για την αποθήκευση αριθμών όταν η ακρίβεια είναι εξαιρετικά σημαντική, κάτι που συμβαίνει κατά τον υπολογισμό με νομισματικές μονάδες.
      Δεκαδικός- έναν ακόμη μεγαλύτερο δεκαδικό αριθμό με 29 θέσεις (μετά την υποδιαστολή μπορείτε να χρησιμοποιήσετε από 0 έως 28 θέσεις), 8 byte;
      ΜονόκλινοΚαι Διπλό- τιμές κινητής υποδιαστολής ( 4 και 8 byte)
      (από -3,402823·10 38 έως -1,401298·10 -45 για αρνητικές τιμές και
      από 1,401298·10 -45 έως 3,402823·10 38 για θετικές τιμές για Single, και
      από -1,79769313486232·10 308 έως -4,94065645841247·10 -324 για αρνητικές τιμές και
      από 4,94065645841247·10 -324 έως 1,79769313486232·10 308 για θετικές τιμές για Διπλό).
    • σειρά( Σειράμεταβλητό μήκος (έως περίπου 2 δισεκατομμύρια χαρακτήρες) και σταθερό μήκος (έως περίπου 65.400 χαρακτήρες)).
    • ημερομηνία και ώρα ( Ημερομηνία- από 01.01.100 έως 31.12.9999), 8 byte;
    • boolean ( Boolean- μπορεί να αποθηκεύσει μόνο τις τιμές True και False), 2 byte;
    • αντικείμενο ( Αντικείμενο- αποθηκεύει μια αναφορά σε οποιοδήποτε αντικείμενο στη μνήμη).
    • Παραλαγή- έναν ειδικό τύπο δεδομένων που μπορεί να αποθηκεύσει κάθε τύπο δεδομένων, 16 byte +1
    Οι χαρακτηρισμοί τύπων δεδομένων είναι λέξεις-κλειδιά γλώσσας (και επισημαίνονται όταν πληκτρολογούνται στον επεξεργαστή VBA). Πάνω από διάφοροι τύποιδιάφορες λειτουργίες είναι δυνατές στα δεδομένα. Υπάρχουν τρεις κύριοι τύποι λειτουργιών στο VBA:
    • μαθηματικά, που εκτελούνται σε αριθμούς, το αποτέλεσμά τους είναι αριθμοί.
    • Οι σχεσιακές πράξεις μπορούν να εφαρμοστούν όχι μόνο σε αριθμούς· το αποτέλεσμά τους είναι μια τιμή του λογικού τύπου.
    • λογικό, χρησιμοποιείται σε λογικές εκφράσειςκαι το αποτέλεσμά τους είναι δυαδικές τιμές.

    3. Προτεραιότητες λειτουργίας

    Μια προτεραιότητα Λειτουργία
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Κλήση συνάρτησης και παρενθέσεις
    ^
    - (αλλαγή του σημείου)
    *, /
    \
    Mod
    +, –
    >, <, >=, <=, <>, =
    Δεν
    Και
    Ή
    Xor

    4. Μαθηματικές συναρτήσεις

    Λειτουργία Επιστρεφόμενη αξία
    κοιλιακοί (<число>) Συντελεστής (απόλυτη τιμή) ενός αριθμού
    Atn(<число>) Arctangent
    Cos(<число>) Συνημίτονο
    Λήξη (<число>) Εκθέτης, δηλαδή το αποτέλεσμα της αύξησης της βάσης του φυσικού λογάριθμου στην καθορισμένη ισχύ
    Κούτσουρο(<число>) Φυσικός λογάριθμος
    Rnd (<число>) Τυχαίος αριθμός από το διάστημα [, Τίτλος]

    Επιχειρήματα:

    Μήνυμα - ένα απαιτούμενο όρισμα που καθορίζει το μήνυμα πληροφοριών που θα εμφανίζεται στο παράθυρο. Μπορεί να αποτελείται από πολλές γραμμές κειμένου που ενώνονται με ένα σημάδι & . Χρήση σε αυτό το επιχείρημα Chr(13)οδηγεί σε μια νέα γραμμή κατά την έξοδο πληροφοριών.

    Κουμπιά - η τιμή αυτού του ορίσματος καθορίζει τις κατηγορίες των κουμπιών που εμφανίζονται στο παράθυρο. Η τιμή του ορίσματος του κουμπιού καθορίζει επίσης εάν κάποιο εικονίδιο εμφανίζεται στο παράθυρο. Εάν δεν καθορίσετε ποια κουμπιά θα εμφανίζονται στο πλαίσιο μηνύματος, χρησιμοποιείται η προεπιλεγμένη τιμή που αντιστοιχεί στο κουμπί OK. Στον πίνακα Το 3.1 δείχνει πιθανούς συνδυασμούς κουμπιών και εικονιδίων στο παράθυρο μηνυμάτων.

    Επικεφαλίδα - ορίζει τον τίτλο του παραθύρου.

    Λειτουργία MsgBoxεπιστρέφει μια ακέραια τιμή που υποδεικνύει σε ποιο κουμπί έγινε κλικ στο πλαίσιο διαλόγου.

    Πίνακας 3.1. Τιμές μεταβλητών έγκυρων κουμπιών

    Απεικόνιση

    Διαφωνία

    κουμπί ΟΚ

    Κουμπιά ΟΚ και Ακύρωση

    Κουμπιά Ναι και Όχι

    Ναι, Όχι και κουμπιά Ακύρωση

    Κουμπιά Διακοπή, Επανάληψη και Παράβλεψη

    VbAbortRetryIgnore

    Επανάληψη και Άκυρο κουμπιά.

    Πινακίδα πληροφοριών

    Ερωτηματικό

    Θαυμαστικό

    Για παράδειγμα. Εμφάνιση μηνύματος σχετικά με την τρέχουσα ημερομηνία.

    MsgBox "Σήμερα στο ημερολόγιο" & Ημερομηνία , "Προσοχή"

    Ως αποτέλεσμα, θα εμφανιστεί το ακόλουθο παράθυρο (Εικ. 3.1).

    Αφού κάνετε κλικ στο OK, το πλαίσιο μηνύματος θα κλείσει και η εκτέλεση του προγράμματος θα συνεχιστεί από τη δήλωση αμέσως μετά την κλήση MsgBox.

    3.3.2. Λειτουργία InputBox

    Λειτουργία InputBoxεισάγει μεταβλητές τιμές χρησιμοποιώντας το παράθυρο εισαγωγής και έχει την ακόλουθη σύνταξη:

    Μεταβλητή_Όνομα = InputBox(Μήνυμα[, Τίτλος] )

    Επιχειρήματα:

    Μήνυμα - απαιτούμενο επιχείρημα. Ορίζει ένα ενημερωτικό μήνυμα στο παράθυρο, που συνήθως εξηγεί τη σημασία της εισαγόμενης τιμής.

    Επικεφαλίδα - ορίζει τον τίτλο του παραθύρου.

    Για παράδειγμα, Εισαγάγετε την τιμή της μεταβλητής N από το πληκτρολόγιο, παρέχοντας μια προεπιλεγμένη τιμή 10.

    Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τον ακόλουθο τελεστή:

    N = InputBox("Enter N", "Input input",10)

    Ως αποτέλεσμα, θα εμφανιστεί το ακόλουθο παράθυρο για την εισαγωγή της τιμής της μεταβλητής N (Εικ. 3.2).

    Εάν η προεπιλεγμένη τιμή είναι αποδεκτή από τον χρήστη, τότε αφού κάνετε κλικ στο κουμπί OK, το παράθυρο εισαγωγής θα κλείσει, η μεταβλητή N θα οριστεί στο 10 και η εκτέλεση του προγράμματος θα συνεχιστεί από τη δήλωση ακριβώς πίσω από την κλήση InputBox.

    Εάν η προεπιλεγμένη τιμή δεν είναι κατάλληλη για το χρήστη, τότε πριν κάνετε κλικ στο κουμπί OK, πρέπει να εισαγάγετε την επιθυμητή τιμή για τη μεταβλητή N.

    3 .4. Δήλωση IF υπό όρους

    Για την υλοποίηση μιας υπολογιστικής διαδικασίας διακλάδωσης στο VBA, χρησιμοποιείται ο τελεστής Αν... Τότε... Αλλιώς,που είναι η απλούστερη μορφή ελέγχου κατάστασης. Έχει την εξής σύνταξη:

    ΑνΚΑΤΑΣΤΑΣΗΕπειταOPERATOR_1μιlseOPERATOR_2

    OPERATOR_1εκτελείται εάν ΚΑΤΑΣΤΑΣΗαληθινό, διαφορετικά εκτελείται OPERATOR_2. Σε αυτήν την περίπτωση, η δήλωση If...Then...Else γράφεται σε μία γραμμή.

    ΚΑΤΑΣΤΑΣΗείναι μια δυαδική έκφραση. Το αποτέλεσμα μιας έκφρασης είναι πάντα Boolean. Μια έκφραση μπορεί να είναι απλή ή σύνθετη. Όταν γράφετε απλές συνθήκες, μπορούν να χρησιμοποιηθούν όλες οι πιθανές σχεσιακές πράξεις που αναφέρονται στον πίνακα. 3.2.

    Τραπέζι3 .2. Λογικές σχέσεις

    Λειτουργία

    Ονομα

    Εκφραση

    Αποτέλεσμα

    Σωστό αν το Α ισούται με το Β

    Σωστό αν το Α δεν είναι ίσο με το Β

    Σωστό αν το Α είναι μεγαλύτερο από το Β

    Σωστό αν το Α είναι μικρότερο από το Β

    Περισσότερο ή ίσο

    Σωστό αν το Α είναι μεγαλύτερο ή ίσο του Β

    Λιγότερο ή ίσο

    Σωστό αν το Α είναι μικρότερο ή ίσο του Β

    Οι σύνθετες συνθήκες σχηματίζονται από απλές χρησιμοποιώντας λογικές πράξεις και παρενθέσεις. Ο κατάλογος των λογικών πράξεων δίνεται στον πίνακα. 3.3.

    Τραπέζι3 .3. Λογικές πράξεις

    Ονομα

    Εκφραση

    Αποτέλεσμα

    Boolean
    άρνηση

    Λογικό ΚΑΙ

    Λογικό Ή

    Σε μια δήλωση υπό όρους, επιτρέπεται η χρήση ενός μπλοκ εντολών αντί για οποιαδήποτε από τις δηλώσεις. Σε αυτήν την περίπτωση, ο υπό όρους τελεστής μοιάζει με:

    ΑνΚΑΤΑΣΤΑΣΗΕπειτα

    BLOCK_OPERATORS_1

    BLOCK_OPERATORS_2

    Τέλος Ιφά

    Μια υπό όρους δήλωση μπορεί να ελέγξει πολλαπλές συνθήκες. Σε αυτήν την περίπτωση, ο υπό όρους τελεστής μοιάζει με:

    ΑνCONDITION_1Επειτα

    BLOCK_OPERATORS_1

    ElseIfCONDITION_2Επειτα

    BLOCK_OPERATORS_2

    Αλλού

    ΤέλοςΑν

    Παράδειγμα 1. Γράψτε μέρος του προγράμματος για τον αλγόριθμο στο Σχ. 3.3.

    Παράδειγμα 2.Γράψτε μέρος του προγράμματος για τον αλγόριθμο στο Σχ. 3.4.

    3.5. Επιλέξτε Case operator

    Ο τελεστής Select Case είναι χρήσιμος όταν χρειάζεται να εκτελέσετε διαφορετικές ενέργειες ανάλογα με την τιμή κάποιας έκφρασης που έχει ένα πεπερασμένο σύνολο έγκυρων τιμών. Σχετίζεται επίσης με δηλώσεις υπό όρους, αλλά έχει διαφορετική μορφή:

    Επιλέξτε ΠερίπτωσηΕΚΦΡΑΣΗ ΥΠΟ ΔΟΚΙΜΗ

    ΥπόθεσηVALUES_1

    OPERATORS_1

    ΥπόθεσηΑΞΙΕΣ_ 2

    ΧΕΙΡΙΣΤΕΣ_ 2

    . . .

    ΥπόθεσηVALUES_N

    ΧΕΙΡΙΣΤΕΣ

    [ ΥπόθεσηΑλλού

    ΣΕ ΔΙΑΦΟΡΕΤΙΚΗ ΠΕΡΙΠΤΩΣΗ_ ΧΕΙΡΙΣΤΕΣ]

    Τέλος Επιλογή

    ΕΚΦΡΑΣΗ ΥΠΟ ΔΟΚΙΜΗμπορεί να είναι οποιουδήποτε βαθμωτού τύπου εκτός από το πραγματικό. ΑΞΙΕΣαποτελείται από έναν αυθαίρετο αριθμό τιμών ή περιοχών που χωρίζονται με κόμματα.

    Τύπος ΑΞΙΕΣπρέπει να ταιριάζει με τον τύπο TEST_EXPRESSION.

    Πρώτα υπολογίζεται ΕΚΦΡΑΣΗ ΥΠΟ ΔΟΚΙΜΗ. Αν η τιμή του ταιριάζει με μία από τις τιμές VALUES_I, τότε θα εκπληρωθούν OPERATORS_I Τέλος Επιλογή. Αν η τιμή του δεν ταιριάζει με καμία από τις τιμές VALUES_I, τότε θα εκπληρωθούν ΑΛΛΟΙ_ΧΕΙΡΙΣΤΕΣκαι ο έλεγχος μεταβιβάζεται στον χειριστή που στέκεται μετά Τέλος Επιλογή

    Για παράδειγμα.Γράψτε μέρος του προγράμματος για τον αλγόριθμο στο Σχ. 3.5, που καθορίζει την τιμή της μεταβλητής S ανάλογα με την τιμή της μεταβλητής n.

    3.6. Δηλώσεις βρόχου

    Για την υλοποίηση μιας κυκλικής υπολογιστικής διαδικασίας, δηλαδή επαναλαμβανόμενης εκτέλεσης ενός ή περισσότερων τελεστών, χρησιμοποιείται ο τελεστής βρόχου Για...Επόμενο, το οποίο έχει την ακόλουθη σύνταξη:

    ΓιαCOUNTER=START_VALUEΤοCON_VALUEΒήμαΒΗΜΑ

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    ΕπόμενοΜΕΤΡΗΤΗΣ

    Ο βρόχος For…Next περιστρέφεται μέσα από τις τιμές μιας μεταβλητής ΜΕΤΡΗΤΗΣ, η οποία είναι παράμετρος βρόχου, από την αρχική έως την τελική τιμή με το καθορισμένο βήμα αλλαγής. Αυτό διασφαλίζει ότι το μπλοκ εντολών σώματος βρόχου εκτελείται με κάθε νέα τιμή μετρητή. Αν ΒήμαΒΗΜΑαπουσιάζει στο σχέδιο, τότε από προεπιλογή θεωρείται ότι το βήμα είναι ίσο με 1. Σύμφωνα με τον χειριστή Έξοδος γιαμπορείτε να βγείτε από την πρόταση βρόχου πριν ΜΕΤΡΗΤΗΣφτάνει την τελευταία τιμή.*

    Για επανάληψη μέσω αντικειμένων από μια ομάδα παρόμοιων αντικειμένων, για παράδειγμα, κελιά από μια περιοχή ή στοιχεία πίνακα, είναι βολικό να χρησιμοποιήσετε τον τελεστή βρόχου Για…Κάθε… Επόμενο.

    Για κάθεΣτοιχείοΣεΟμάδα

    ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ_ ΧΕΙΡΙΣΤΕΣ

    OPERATOR_BLOCK

    ΕπόμενοΣτοιχείο

    Στο VBA, άλλοι τελεστές βρόχου χρησιμοποιούνται για την οργάνωση βρόχων με άγνωστο αριθμό επαναλήψεων:

    βρόχοι με προϋπόθεση - ΚάνωΕνώΒρόχος,

    ΚάνωΜέχριΒρόχος;

    βρόχους με μετασυνθήκη - ΚάνωΒρόχοςΕνώ,

    ΚάνωΒρόχοςΜέχρι.

    Παρακάτω είναι η σύνταξη αυτών των δηλώσεων βρόχου:

    «Κουπ με προϋπόθεσηΚάνω Ενώ Βρόχος

    Κάνετε ΕνώΚΑΤΑΣΤΑΣΗ

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    «Κουπ με προϋπόθεσηΚάνω Μέχρι Βρόχος

    ΚάνωΜέχριΚΑΤΑΣΤΑΣΗ

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    «Κουπ με μετασυνθήκηΚάνω Loop while

    ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ_ ΧΕΙΡΙΣΤΕΣ

    OPERATOR_BLOCK

    Loop whileΚΑΤΑΣΤΑΣΗ

    «Κουπ με μετασυνθήκηΚάνω Βρόχος Μέχρι

    ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ_ ΧΕΙΡΙΣΤΕΣ

    OPERATOR_BLOCK

    Βρόχος ΜέχριΚΑΤΑΣΤΑΣΗ

    Χειριστής ΚάνωWχιλε...Κουπδιασφαλίζει ότι ένα μπλοκ εντολών επαναλαμβάνεται πολλές φορές μέχρι ΚΑΤΑΣΤΑΣΗπαρατηρείται και ο χειριστής



    Άλλες ειδήσεις

    Οδηγίες γλώσσας (ή χειριστές)– πρόκειται για μονάδες προγράμματος που εκτελούν ορισμένες ενέργειες ή περιγράφουν δεδομένα.

    Η δήλωση περιέχει μία ή περισσότερες λέξεις-κλειδιά και πιθανώς παραμέτρους. Πολλές δηλώσεις που βρίσκονται στην ίδια γραμμή προγράμματος χωρίζονται μεταξύ τους με άνω και κάτω τελεία. Εάν η πρόταση είναι πολύ μεγάλη, μπορείτε να τη σπάσετε σε πολλές γραμμές χρησιμοποιώντας τον χαρακτήρα υπογράμμισης _ για να τη σπάσετε.

    ΣΧΕΤΙΚΑ ΜΕΠ εκδότηςαναθέσεις

    Ο τελεστής εκχώρησης χρησιμοποιείται για να εκχωρήσει μια νέα τιμή σε μια μεταβλητή κατά την εκτέλεση του προγράμματος. Το σύμβολο ανάθεσης "=".

    Για παράδειγμα, χειριστής:

    x = Sqr(5 + Tan(1,8)^2)

    εκχωρεί στη μεταβλητή x την τιμή της έκφρασης. Ως αποτέλεσμα του υπολογισμού της παράστασης που είναι γραμμένη στη δεξιά πλευρά, λαμβάνουμε έναν πραγματικό αριθμό. Αλλά η τιμή που θα εκχωρηθεί στη μεταβλητή x εξαρτάται από το πώς δηλώθηκε ο τύπος αυτής της μεταβλητής. Έτσι, εάν η μεταβλητή x είναι τύπου Single, θα της εκχωρηθεί το αποτέλεσμα 4,834464, εάν είναι Double, τότε 4,83446368725481, και αν είναι Integer, τότε 5.

    Ο τύπος δεδομένων της μεταβλητής x πρέπει να είναι συμβατός με τον τύπο δεδομένων αυτής της έκφρασης. Εκτός από την σιωπηρή μετατροπή από έναν τύπο σε άλλο κατά την ανάθεση, η Visual Basic παρέχει τη δυνατότητα μετατροπής τύπων χρησιμοποιώντας συναρτήσεις. Για παράδειγμα, η συνάρτηση CDblμετατρέπει δεδομένα σε διπλό τύπο, Cint– στον τύπο Integer, Clng– στον τύπο Long, CSng– στον τύπο Single, CStr– για να πληκτρολογήσετε String, κ.λπ.

    Οι συναρτήσεις CInt και Clng γύρω από το αποτέλεσμα. Επιπλέον, εάν το κλασματικό μέρος ενός αριθμού είναι 0,5, η στρογγυλοποίηση γίνεται στον πλησιέστερο ζυγό αριθμό.

    Χειριστής ανάθεσηςσας επιτρέπει όχι μόνο να εκχωρήσετε μια τιμή σε μια μεταβλητή, αλλά και να ορίσετε τις τιμές των ιδιοτήτων των αντικειμένων VBA. Για παράδειγμα, ο χειριστής

    Γραμμές ("1:1"). Γραμματοσειρά. Έντονη = Αληθινή

    Κάνει τη γραμματοσειρά στην πρώτη γραμμή του φύλλου εργασίας έντονη.

    ΔΙΑΚΟΠΗ ΤΗΣ ΓΡΑΜΜΗΣ

    Συνδυασμός<Пробел> + <Знак подчеркивания>στο τέλος μιας γραμμής διασφαλίζει ότι η επόμενη γραμμή είναι συνέχεια της προηγούμενης. Παράλληλα, πρέπει να θυμόμαστε ότι:

    § Δεν μπορείτε να σπάσετε τις σταθερές συμβολοσειράς τυλίγοντας

    § Δεν επιτρέπονται περισσότερες από επτά συνεχίσεις της ίδιας γραμμής

    § Η ίδια η γραμμή δεν μπορεί να περιέχει περισσότερους από 1024 χαρακτήρες

    Παράδειγμα.

    Λανθασμένη μεταφορά Σωστή μεταφορά

    Line = "Visual Basic for _ Line = "Visual Basic" _

    Εφαρμογές" & "για Εφαρμογές"

    ΣΧΟΛΙΑ

    Το κείμενο που ακολουθεί το σύμβολο (") σε ένα πρόγραμμα μέχρι το τέλος της γραμμής αγνοείται από τον μεταγλωττιστή και είναι ένα σχόλιο. Τα σχόλια χρησιμοποιούνται για την προσθήκη επεξηγήσεων και περιγραφών στο πρόγραμμα. Τα σχόλια είναι χρήσιμα κατά τον εντοπισμό σφαλμάτων ενός προγράμματος: επιτρέπουν μπορείτε να απενεργοποιήσετε προσωρινά τις γραμμές προγράμματος κατά τον εντοπισμό σφαλμάτων.

    Υποθετικός χειριστής

    Μια δήλωση υπό όρους εκτελεί ορισμένες εντολές (δηλώσεις) ανάλογα με την τιμή της έκφρασης συνθήκης. Το μπλοκ διάγραμμα για τον έλεγχο της συνθήκης μοιάζει με αυτό:

    Ρύζι. 1. Η διακλάδωση μπορεί να είναι ατελής (αυτή η δομή ονομάζεται επίσης παράκαμψη).

    Ρύζι. 2. Η υπό όρους πρόταση έχει δύο μορφές σύνταξης: γραμμή και μπλοκ.

    Μικρή μορφή

    Αν κατάστασηΕπειτα [ operators_if_true]

    Ο αλγόριθμος που παρουσιάζεται στο Σχ. 1, σε πεζά γράμματα θα γραφεί ως

    Αν κατάστασηΕπειτα operators_if_trueΑλλού operators_if_false

    Το σχήμα 2 αντιστοιχεί στην καταχώρηση

    Αν κατάστασηΕπειτα operators_if_true

    Το Σχήμα 3 αντιστοιχεί στην καταχώρηση

    Αν κατάστασηΜετά Άλλο operators_if_false

    Φόρμα μπλοκ

    Αν συνθήκη-1Επειτα

    [operators_if condition–1_true]

    [operators_if_all_conditions_false]]

    Οι συνθήκες που αναφέρονται στα μέρη If και ElseIf είναι σχεσιακές εκφράσεις ή λογικές εκφράσεις. Όταν ικανοποιείται μία από τις προϋποθέσεις, εκτελούνται οι εντολές που ακολουθούν την αντίστοιχη λέξη-κλειδί Τότε και οι υπόλοιπες εντολές αγνοούνται (δηλαδή, δεν εκτελούνται περαιτέρω έλεγχοι και ο έλεγχος μεταφέρεται στην πρόταση που ακολουθεί το Τέλος Εάν). Αν καμία από τις λογικές συνθήκες δεν είναι αληθής, τότε operators_if_all_previous_conditions_false, ή, εάν παραλειφθεί αυτό το τμήμα, ο έλεγχος μεταφέρεται στη γραμμή προγράμματος ακολουθώντας τη δήλωση υπό όρους.

    Η μορφή μπλοκ της δήλωσης If είναι προτιμότερη εάν:

    Όταν μια συνθήκη πληρούται ή δεν πληρούται, εκτελούνται πολλές εντολές (η φόρμα γραμμής σε αυτήν την περίπτωση μπορεί επίσης να χρησιμοποιηθεί, αλλά η γραμμή θα είναι πολύ μεγάλη και το πρόγραμμα λιγότερο καθαρό).

    Πολλές συνθήκες ελέγχονται διαδοχικά και όταν πληρούται η επόμενη συνθήκη, δεν είναι σωστό να ελέγχονται οι επόμενες συνθήκες (γι' αυτό χρησιμοποιείται η λέξη-κλειδί ElseIf).

    Παράδειγμα

    Η εταιρεία παρέχει εκπτώσεις σε αγοραστές χονδρικής.

    Με βάση τον γνωστό όγκο της παραγγελίας, είναι απαραίτητο να προσδιοριστεί το κόστος της.

    Για να υπολογίσουμε το κόστος παραγγελίας χρησιμοποιούμε τη συνάρτηση:

    Παραγγελία δημόσιας λειτουργίας_Κόστος(Ποσότητα για όσο διάστημα) Διπλό

    Αν Ποσότητα<= 999 Then

    Order_cost = Ποσότητα * 5

    ElseIf Ποσότητα<= 1999 Then

    Order_cost = Ποσότητα * 4.8

    Order_cost = Ποσότητα * 4,75

    Σε αυτήν την περίπτωση, ήταν δυνατό να χρησιμοποιηθεί η πεζή μορφή του τελεστή IF:

    Παραγγελία δημόσιας λειτουργίας_Κόστος1(Ποσότητα για όσο διάστημα) Διπλό

    Αν Ποσότητα<= 999 Then Стоимость_заказа1 = Количество * 5

    Αν Ποσότητα >= 1000 Και Ποσότητα<= 1999 Then Стоимость_­ заказа1 = Количество * 4.8

    Αν Ποσότητα >= 2000 Τότε Order_Cost1 = Ποσότητα * 4,75

    Εάν δεν λάβουμε υπόψη τα μειονεκτήματα ότι οι γραμμές είναι μεγάλες και για οποιονδήποτε όγκο παραγγελίας όλοι οι έλεγχοι εκτελούνται διαδοχικά (η πρώτη διαδικασία λειτουργεί πιο γρήγορα για μικρούς τόμους παραγγελιών), τότε το πρόγραμμα είναι γραμμένο σωστά και, ίσως, ακόμη πιο σαφές.

    Ωστόσο, είναι δυνατό να δοθούν παραδείγματα όπου, εάν μία από τις προϋποθέσεις πληρούται (ή δεν πληρούται), οι άλλες απλώς δεν μπορούν να ελεγχθούν.

    Για παράδειγμα, ορισμένοι τελεστές πρέπει να εκτελεστούν όταν πληρούνται από κοινού οι προϋποθέσεις: http://po-teme.com.ua/images/adIIIin/image014_e652e49476c6f0eb9cf40b68cc090828.gif" alt="" width="56" height="27 src="> Εάν για ελέγχους χρησιμοποιήστε χειριστή

    Αν x>0 και y

    τότε αν το x είναι αρνητικό, θα παρουσιαστεί σφάλμα κατά την κλήση της συνάρτησης sqr (η ρίζα είναι αρνητικός αριθμός).

    Αυτό το σφάλμα μπορεί να αποφευχθεί χρησιμοποιώντας το σχέδιο

    Αν x > 0 Τότε αν y< Sqr(x) Then

    Στην τελευταία μορφή της καταχώρισης, εάν υπάρχει λέξη κλειδί Else, τότε αναφέρεται στην τελευταία πρόταση If.

    Χειριστής επιλογής

    Επιλέξτε Περίπτωση έκφραση

    [οδηγίες_αλλού]]

    Η παράμετρος έκφρασης είναι οποιαδήποτε αριθμητική ή συμβολοσειρά έκφραση. Αντί να αξιολογηθεί μια λογική συνθήκη, η τιμή της έκφρασης συγκρίνεται με καθεμία από τις τιμές που καθορίζονται από την παράμετρο έκφραση_λίστα-n.

    Οι τιμές για σύγκριση περιλαμβάνονται στο έκφραση_λίστα-n, μπορεί να καθοριστεί στη μορφή:

    - αξίες;

    – εύρος τιμών στη φόρμα αρχική τιμήΠρος την τελική_τιμή;

    – εκφράσεις σύγκρισης με τη μορφή Is σύγκριση_τιμή χειριστή;

    – μια λίστα με οποιονδήποτε από τους αναφερόμενους τύπους εκφράσεων (διαχωριστικό – κόμμα).

    Μια εντολή μπορεί να περιέχει έναν αυθαίρετο αριθμό μπλοκ Case. Εάν καμία από τις συνθήκες δεν είναι αληθής, τότε οι εντολές στο μπλοκ Case Else εκτελούνται.

    Για παράδειγμα, εάν η συνθήκη είναι βαθμολογία πάνω από το τρία, τότε αυτή η συνθήκη μπορεί να γραφτεί: Περίπτωση 4, 5 ή Περίπτωση είναι >3 ή Περίπτωση Είναι >= 4 ή Περίπτωση 4 έως 5.

    Σημείωση. Λέξη-κλειδίΔεν χρειάζεται να εισαχθεί, θα προστεθεί αυτόματα.

    Παράδειγμα

    Το παραπάνω παράδειγμα με μειωμένη τιμή χρησιμοποιώντας την κατασκευή Select Case μπορεί να λυθεί ως εξής:

    Παραγγελία δημόσιας συνάρτησης_Κόστος2(Ποσότητα για όσο διάστημα) Διπλό

    Επιλέξτε Case Quantity

    Order_cost2 = Ποσότητα * 5

    Υπόθεση 1000 έως 1999

    Order_cost2 = Ποσότητα * 4.8

    Υπόθεση είναι >= 2000

    Order_cost2 = Ποσότητα * 4,75

    Ένα πρόγραμμα VBA είναι μια ακολουθία δηλώσεων.

    Υπάρχει μια σειρά από συμβάσεις που πρέπει να ακολουθούνται κατά τη σύνταξη προγραμμάτων. Έτσι, πολλές δηλώσεις μπορούν να τοποθετηθούν σε μία γραμμή. Τοποθετείται άνω και κάτω τελεία μεταξύ των δηλώσεων στην ίδια γραμμή.

    Οποιαδήποτε γραμμή μπορεί να χωριστεί στα δύο τοποθετώντας τους χαρακτήρες "Space" + "Underscore" (_) στο τέλος της πρώτης, οπότε η δεύτερη γραμμή θα θεωρείται συνέχεια της πρώτης.

    Τα σχόλια χρησιμοποιούνται για να διευκολύνουν την ανάγνωση του προγράμματος. Υπάρχουν δύο τρόποι για να εισαγάγετε σχόλια στο VBA: χρησιμοποιώντας μια απόστροφο ('), η οποία μπορεί να τοποθετηθεί οπουδήποτε σε μια γραμμή, και χρησιμοποιώντας τη δεσμευμένη λέξη Rem αντί για απόστροφο.

    1. Χειριστής θαμπόςπροορίζεται για τη δήλωση τύπων μεταβλητών.

    1. Dim A ως ακέραιος αριθμός - η μεταβλητή Α δηλώνεται ως ακέραιος, δηλ. θα αποθηκεύει μόνο ακέραιες τιμές .

    2. Dim D ως ημερομηνία - Η μεταβλητή D δηλώνεται για την αποθήκευση ημερομηνιών.

    3. Αχνό επώνυμο, όνομα ως συμβολοσειρά - δηλώνονται οι μεταβλητές. Επώνυμο και Όνομα, που προορίζονται για την αποθήκευση κειμένου.

    4. Dim B(12) Ως ακέραιος αριθμός - δηλώνεται ένας μονοδιάστατος πίνακας (διάνυσμα) που αποτελείται από 12 ακέραιους και από προεπιλογή το πρώτο στοιχείο του πίνακα θα είναι B(0) και το τελευταίο B(12).

    5. Dim B(3,3) Ως single – δηλώνεται ένας δισδιάστατος πίνακας 3x3 (μήτρας) που αποτελείται από πραγματικούς αριθμούς.

    Εάν δεν έχει καθοριστεί τύπος μεταβλητής, ο προεπιλεγμένος τύπος είναι Variant. Ωστόσο, ο καθορισμός ενός συγκεκριμένου τύπου μεταβλητής καθιστά το πρόγραμμα πιο αξιόπιστο και επιταχύνει τη λειτουργία του, επειδή Η VBA δεν χρειάζεται να χάνει χρόνο αναγνωρίζοντας μια αδήλωτη μεταβλητή κάθε φορά που έχει πρόσβαση σε αυτήν.

    Εάν το μέγεθος του πίνακα M δεν είναι γνωστό εκ των προτέρων και καθορίζεται κατά τη διάρκεια του προγράμματος, τότε κατά την περιγραφή του πίνακα δεν υποδεικνύεται ο αριθμός των στοιχείων και ο πίνακας ορίζεται ως εξής:

    Dim M() Ως ακέραιος αριθμός

    Αφού προσδιορίσετε τον αριθμό των στοιχείων πίνακα, για παράδειγμα, N, πρέπει να γράψετε τον τελεστή

    2. Χειριστής ανάθεσηςπροορίζεται να εκχωρήσει μια τιμή σε μια μεταβλητή.

    Σύνταξη:

    Μεταβλητή (ή ιδιότητα αντικειμένου) = έκφραση.

    1. a=5 – αντιστοιχίστε στη μεταβλητή Α την τιμή 5 ;

    2. b="Διευθυντής" - μεταβλητή β αναθέτωπου σημαίνει "Διευθυντής";

    · Διεύθυνση=Φύλλα("Οργανισμοί").Κελιά(2,2) – αντιστοιχίστε στη μεταβλητή Address τα περιεχόμενα του κελιού B2, το οποίο βρίσκεται στο φύλλο Οργανισμοί στο τρέχον βιβλίο εργασίας.

    Επώνυμο=UserForm1.TextBox1.Text – μεταβλητός Το επώνυμο εκχωρείται στα περιεχόμενα του πεδίου TextBox1 της φόρμας χρήστη UserForm1.

    ο Με/Τέλος με δήλωσησώζει τον προγραμματιστή από μεγάλο αριθμό επαναλήψεων του ονόματος του ίδιου αντικειμένου.

    Σύνταξη:

    Με αντικείμενο

    χειριστής 1

    χειριστής 2

    χειριστής Ν

    Για παράδειγμα, αντί για μια σειρά δηλώσεων

    UserForm1.TextBox1.Text = Ημερομηνία

    UserForm1.TextBox2.Text = " "

    UserForm1.ComboBox1.Text = " "

    μπορεί να γραφτεί έτσι

    TextBox1.Text = Ημερομηνία

    . TextBox2.Text = " "

    . ComboBox1.Text = " "

    REM Στο φύλλο φύλλου 1 στη στήλη Α, ξεκινώντας από τη δεύτερη γραμμή, καταγράφονται τα «τιμολόγια εργαζομένων». Συμπληρώστε το σύνθετο πλαίσιο ComboBox1 στη φόρμα χρήστη UserForm1

    «Η πρώτη γραμμή του προγράμματος – στο φύλλο Φύλλο1 στη στήλη Α «μετριέται ο αριθμός των γεμισμένων κελιών, το αποτέλεσμα» εκχωρείται στη μεταβλητή N

    N=Application.CountA(Φύλλα(“Φύλλο1”).Range(“A:A”)).

    D=”A2:A”&Cint(N)

    Φύλλα("Φύλλο1").Εύρος(D).Όνομα="Τιμολόγιο"

    TextBox1.Text = Ημερομηνία

    . TextBox2.Text = " "

    . ComboBox1.Text = " "

    . ComboBox1.Rowsource = "Tariffs"

    1. Δήλωση υπό όρους If/Then/Else– σας επιτρέπει να ελέγξετε μια συγκεκριμένη κατάσταση και, ανάλογα με τα αποτελέσματα του ελέγχου, να εκτελέσετε μια ή την άλλη ενέργεια

    Σύνταξη:

    Ανκατάσταση Επειταχειριστές1 [ Αλλούχειριστές 2]

    Εάν η συνθήκη είναι αληθής, τότε εκτελούνται οι εντολές1, διαφορετικά οι εντολές2.

    Είναι επίσης δυνατό να χρησιμοποιηθεί ένας πολύπλοκος τελεστής υπό όρους, ο οποίος είναι γραμμένος ως μπλοκ:

    Ανσυνθήκη 1 Επειτα

    χειριστές 1

    ElseIfσυνθήκη 2 Επειτα

    χειριστές 2

    χειριστές3

    Επώνυμο=.TextBox1.Κείμενο

    Εάν Επώνυμο ="" Τότε MsgBox"Δεν έχετε εισαγάγει επώνυμο"

    REM Όταν το πλαίσιο ελέγχου αριθμός 1 είναι επιλεγμένο, παρέχεται στον πελάτη έκπτωση 5%.

    Ποσό – χρηματικό ποσό που καταβάλλεται από τον πελάτη

    Το κόστος του προϊόντος αποθηκεύεται στη μεταβλητή Κόστος

    Εάν UserForm1.CheckBox1.Value = True Τότε

    Ποσό=Κόστος-Κόστος*0,05

    Άλλο Ποσό=Κόστος

    1) REM Υποθέστε ότι το Tariff είναι το καθιερωμένο τιμολόγιο και ο χρόνος είναι ο χρόνος εργασίας. Η ώρα και η χρέωση εισάγονται στα πεδία εισαγωγής «στο TextBox1 και TextBox2, αντίστοιχα. Ο μισθός υπολογίζεται με τον τύπο Tariff*Time. Ας γράψουμε ένα πρόγραμμα για την εμφάνιση του υπολογιζόμενου μισθού στη φόρμα. Ετικέτα 4 – επιγραφή προετοιμασμένη για «εμφάνιση της αξίας μισθού»

    Αν IsNumeric(TextBox1.Text)=True And _

    IsNumeric(TextBox2.Text)=True Τότε

    Tariff=TextBox1.Text

    Time=TextBox2.Text

    Label4.Caption=Tariff*Time

    Στο πρώτο παράδειγμα, εργαζόμαστε με τη φόρμα χρήστη νούμερο ένα. Μεταβλητός Επώνυμοεκχωρούνται τα περιεχόμενα του πεδίου εισαγωγής με αριθμό ένα. Στη συνέχεια ελέγχει για να δει αν έχει εισαχθεί κάτι στο πεδίο εισαγωγής (αν η μεταβλητή είναι κενή Επώνυμο). Αν η μεταβλητή Επώνυμοείναι άδειο, εμφανίζεται ένα πλαίσιο μηνύματος στην οθόνη.

    Στο δεύτερο παράδειγμα, οι πρώτες γραμμές που ξεκινούν με τη λέξη REM και απόστροφα είναι σχόλια που εξηγούν το σκοπό των μεταβλητών. Ο υπό όρους χειριστής καθορίζει το ποσό που καταβάλλει ο πελάτης.

    Το τρίτο παράδειγμα ελέγχει εάν οι αριθμοί εισάγονται στα πεδία εισαγωγής. Εάν οι αριθμοί εισάγονται σε δύο πεδία, τότε στις μεταβλητές εκχωρούνται οι τιμές των πεδίων εισαγωγής και στην ετικέτα η τιμή του αποτελέσματος του πολλαπλασιασμού του τιμολογίου με το χρόνο.

    1) Χειριστής άνευ όρων άλματος Παω σεπροορίζεται για τον καθορισμό μιας μετάβασης σε μια καθορισμένη γραμμή μέσα σε ένα πρόγραμμα.

    Σύνταξη:

    GoTo String

    Απαιτούμενο όρισμα Η συμβολοσειρά μπορεί να είναι οποιαδήποτε ετικέτα γραμμής ή αριθμός γραμμής.

    Αν IsNumeric(TextBox1.Text)=False Τότε Σφάλμα Μετάβασης

    Σφάλμα: MsgBox "Σφάλμα κατά την εισαγωγή αριθμών!"

    Το παραπάνω παράδειγμα ελέγχει εάν έχει εισαχθεί ένας αριθμός στο πεδίο εισαγωγής 1. Εάν ο αριθμός που εισάγατε δεν είναι αριθμός, τότε η γραμμή με την ετικέτα Σφάλμα μετακινείται και εμφανίζεται ένα μήνυμα στην οθόνη.

    2) Χειριστής βρόχου Για/Προς/Επόμενοσχεδιασμένο για προγραμματισμό επαναλαμβανόμενων τμημάτων, π.χ. να περιγράφουν κυκλικούς αλγόριθμους.

    Σύνταξη:

    Γιαμεταβλητή=M1 Προς την M2 [ Βήμα M3]

    χειριστές

    Μ1, Μ2, Μ3 – εκφράσεις. Μια δήλωση βρόχου επαναλαμβάνει την εκτέλεση μιας ομάδας εντολών ενώ η μεταβλητή (μετρητής) αλλάζει από την αρχική τιμή M1 στην τελική τιμή M2 με το καθορισμένο βήμα M3. Εάν το βήμα δεν έχει καθοριστεί, τότε υποτίθεται ότι είναι 1.

    Επώνυμο = Φύλλα ("Εργαζόμενοι"). Κελιά(I,1)

    UserForm1.ComboBox1.AddItem Επώνυμο

    Στο παράδειγμα που δίνεται, υποτίθεται ότι στο φύλλο «Εργαζόμενοι», η πρώτη στήλη περιέχει τα ονόματα των υπαλλήλων που πρέπει να συμπεριληφθούν στη λίστα του σύνθετου πλαισίου αριθμός ένα της φόρμας χρήστη νούμερο ένα. Αλγόριθμος λειτουργίας προγράμματος:

    1) Στη μεταβλητή I εκχωρείται η τιμή 2.

    2) Στη μεταβλητή Επώνυμο εκχωρείται η τιμή του κελιού A(I,1), που βρίσκεται στο φύλλο «Εργαζόμενοι». (Όταν ο βρόχος εκτελείται για πρώτη φορά, αυτό είναι το κελί A(2,1))

    3) Ένα στοιχείο από τη μεταβλητή Επώνυμο προστίθεται στη λίστα του σύνθετου πλαισίου ComboBox1.

    4) Το 1 προστίθεται στην τιμή της μεταβλητής I (αν το βήμα δεν έχει καθοριστεί, τότε θεωρείται ότι είναι ίσο με 1). Γίνεται έλεγχος για να δούμε αν η τιμή του I έχει υπερβεί το 10 (η τελική τιμή της μεταβλητής I, στο παράδειγμα M3=10); Εάν η τιμή του I είναι ακόμη μικρότερη ή ίση με 10, τότε εκτελούνται τα βήματα 2-4, διαφορετικά ο κύκλος τελειώνει.

    Έτσι, το παραπάνω πρόγραμμα σας επιτρέπει να γεμίσετε τη λίστα του ComboBox1 με δεδομένα.

    Βασικοί αλγόριθμοι που χρησιμοποιούνται στην επίλυση
    οικονομικά καθήκοντα

    Ας δούμε τους βασικούς αλγόριθμους χρησιμοποιώντας το παρακάτω παράδειγμα. Εργαζόμενοι από διαφορετικά τμήματα συμμετείχαν στην εκτέλεση των εργασιών βάσει της σύμβασης. Ο πίνακας στο φύλλο «Φύλλο 1» παρουσιάζει στοιχεία για τον αριθμό των ωρών που εργάστηκε από κάθε εργαζόμενο (Εικ. 8).


    Εικ. 8. Στοιχεία για τον αριθμό των ωρών εργασίας

    εργαζόμενοι της εταιρείας


    Ο κόσμος των δωρεάν προγραμμάτων και χρήσιμες συμβουλές
    2024 whatsappss.ru