Χειριστές VBA και ενσωματωμένες λειτουργίες

Δηλώσεις Excel VBA

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

Μαθηματικοί τελεστές

Οι κύριοι μαθηματικοί τελεστές VBA παρατίθενται στον παρακάτω πίνακα.

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

ΧειριστήςΕνέργειεςπροτεραιότητα

(1 – υψηλότερο, 5 – χαμηλότερο)

^τελεστής εκθέσεως1
*τελεστής πολλαπλασιασμού2
/χειριστής τμήματος2
Διαίρεση χωρίς υπόλοιπο – επιστρέφει το αποτέλεσμα της διαίρεσης δύο αριθμών χωρίς υπόλοιπο. Για παράδειγμα, 74 θα επιστρέψει το αποτέλεσμα 13
ΘάρροςΟ τελεστής Modulo (υπόλοιπο) – επιστρέφει το υπόλοιπο μετά τη διαίρεση δύο αριθμών. Για παράδειγμα, 8 εναντίον 3 θα επιστρέψει το αποτέλεσμα 2.4
+Χειριστής προσθήκης5
-τελεστής αφαίρεσης5

Χειριστές συμβολοσειράς

Ο βασικός τελεστής συμβολοσειράς στο Excel VBA είναι ο τελεστής συνένωσης & (συγχώνευση):

ΧειριστήςΕνέργειες
&τελεστής συνένωσης. Για παράδειγμα, η έκφραση «Α» και «Β» θα επιστρέψει το αποτέλεσμα AB.

Χειριστές σύγκρισης

Οι τελεστές σύγκρισης χρησιμοποιούνται για τη σύγκριση δύο αριθμών ή συμβολοσειρών και την επιστροφή μιας boolean τιμής τύπου Boolean (Σωστό ή λάθος). Οι κύριοι τελεστές σύγκρισης του Excel VBA παρατίθενται σε αυτόν τον πίνακα:

ΧειριστήςΕνέργειες
=Εξίσου
<>Όχι ίσο
<μείον
>Περισσότερο
<=Λιγότερο ή ίσο
>=Μεγαλύτερο ή ίσο

λογικούς τελεστές

Οι λογικοί τελεστές, όπως και οι τελεστές σύγκρισης, επιστρέφουν μια boolean τιμή τύπου Boolean (Σωστό ή λάθος). Οι κύριοι λογικοί τελεστές του Excel VBA παρατίθενται στον παρακάτω πίνακα:

ΧειριστήςΕνέργειες
Καιλειτουργία σύνδεσης, λογικός τελεστής И. Για παράδειγμα, η έκφραση Α και Β θα επιστρέψει Οι αληθινοί , Εάν A и B και τα δύο είναι ίσα Οι αληθινοί , διαφορετικά επιστρέψτε Ψευδής.
OrΛειτουργία διαχωρισμού, λογικός τελεστής OR. Για παράδειγμα, η έκφραση Α Ή Β θα επιστρέψει Οι αληθινοί , Εάν A or B είναι ίσα Οι αληθινοί , και θα επιστρέψει Ψευδής, Εάν A и B και τα δύο είναι ίσα Ψευδής.
ΔενΛειτουργία άρνησης, λογικός τελεστής ΔΕΝ. Για παράδειγμα, η έκφραση Δεν είναι θα επιστρέψει Οι αληθινοί , Εάν A εξίσου Ψευδής, ή επιστροφή Ψευδής, Εάν A εξίσου Οι αληθινοί .

Ο παραπάνω πίνακας δεν παραθέτει όλους τους λογικούς τελεστές που είναι διαθέσιμοι στο VBA. Μπορείτε να βρείτε μια πλήρη λίστα λογικών τελεστών στο Κέντρο προγραμματιστών της Visual Basic.

Ενσωματωμένες Λειτουργίες

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

ΛειτουργίαΕνέργειες
AbsΕπιστρέφει την απόλυτη τιμή του δεδομένου αριθμού.

Παράδειγμα:

  • Κοιλιακοί (-20) επιστρέφει την τιμή 20.
  • κοιλιακοί (20) επιστρέφει την τιμή 20.
ΧρΕπιστρέφει τον χαρακτήρα ANSI που αντιστοιχεί στην αριθμητική τιμή της παραμέτρου.

Παράδειγμα:

  • Chr(10) επιστρέφει μια αλλαγή γραμμής.
  • Chr(97) επιστρέφει έναν χαρακτήρα a.
ΗμερομηνίαΕπιστρέφει την τρέχουσα ημερομηνία συστήματος.
ΗμερομηνίαΠροσθήκηΠροσθέτει ένα καθορισμένο χρονικό διάστημα στη δεδομένη ημερομηνία. Σύνταξη συνάρτησης:

DateAdd(интервал, число, дата)

Πού είναι το επιχείρημα διάστημα καθορίζει τον τύπο του χρονικού διαστήματος που προστίθεται στο δεδομένο Ραντεβού στο ποσό που καθορίζεται στο επιχείρημα αριθμός.

Διαφωνία διάστημα μπορεί να λάβει μία από τις ακόλουθες τιμές:

Διάστημααξία
εεεεέτος
qτέταρτο
mμήνας
yημέρα του έτους
dημέρα
wημέρα της εβδομάδας
wwεβδομάδα
hώρα
nλεπτό
sδεύτερος

Παράδειγμα:

  • DateAdd(«d», 32, «01/01/2015») προσθέτει 32 ημέρες στην ημερομηνία 01/01/2015 και έτσι επιστρέφει την ημερομηνία 02/02/2015.
  • DateAdd(«ww», 36, «01/01/2015») προσθέτει 36 εβδομάδες στην ημερομηνία 01/01/2015 και επιστρέφει την ημερομηνία 09/09/2015.
DateDiffΥπολογίζει τον αριθμό των καθορισμένων χρονικών διαστημάτων μεταξύ δύο δεδομένων ημερομηνιών.

Παράδειγμα:

  • DateDiff(«d», «01/01/2015», «02/02/2015») υπολογίζει τον αριθμό των ημερών μεταξύ 01/01/2015 και 02/02/2015, επιστρέφει 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») υπολογίζει τον αριθμό των εβδομάδων μεταξύ 01/01/2015 και 03/03/2016, επιστρέφει 61.
ΗμεραΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στην ημέρα του μήνα στη δεδομένη ημερομηνία.

Παράδειγμα: Ημέρα («29/01/2015») επιστρέφει τον αριθμό 29.

ώραΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στον αριθμό των ωρών τη δεδομένη στιγμή.

Παράδειγμα: Ώρα («22:45:00») επιστρέφει τον αριθμό 22.

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

Παράδειγμα:

  • InStr(1, "Εδώ είναι η λέξη αναζήτησης", "λέξη") επιστρέφει τον αριθμό 13.
  • InStr(14, "Εδώ είναι η λέξη αναζήτησης και εδώ είναι μια άλλη λέξη αναζήτησης", "λέξη") επιστρέφει τον αριθμό 38.

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

IntΕπιστρέφει το ακέραιο μέρος του δεδομένου αριθμού.

Παράδειγμα: Int(5.79) επιστρέφει το αποτέλεσμα 5.

IsdateΕπιστροφές Οι αληθινοί εάν η δεδομένη τιμή είναι ημερομηνία ή Ψευδής – εάν η ημερομηνία δεν είναι.

Παράδειγμα:

  • IsDate («01/01/2015») Επιστροφές Οι αληθινοί ;
  • IsDate(100) Επιστροφές Ψευδής.
IsErrorΕπιστροφές Οι αληθινοί εάν η δεδομένη τιμή είναι σφάλμα, ή Ψευδής – εάν δεν πρόκειται για λάθος.
ΛείπειΤο όνομα ενός ορίσματος προαιρετικής διαδικασίας μεταβιβάζεται ως όρισμα στη συνάρτηση. Λείπει Επιστροφές Οι αληθινοί εάν δεν έχει περάσει τιμή για το εν λόγω όρισμα διαδικασίας.
Είναι ΑριθμητικόΕπιστροφές Οι αληθινοί εάν η δεδομένη τιμή μπορεί να αντιμετωπιστεί ως αριθμός, διαφορετικά επιστρέφει Ψευδής.
ΑριστερόΕπιστρέφει τον καθορισμένο αριθμό χαρακτήρων από την αρχή της δεδομένης συμβολοσειράς. Η σύνταξη της συνάρτησης έχει ως εξής:

Left(строка, длина)

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

Παράδειγμα:

  • Αριστερά (“abvgdejziklmn”, 4) επιστρέφει τη συμβολοσειρά "abcg"?
  • Αριστερά (“abvgdejziklmn”, 1) επιστρέφει τη συμβολοσειρά "a".
LenΕπιστρέφει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά.

Παράδειγμα: Len ("abcdej") επιστρέφει τον αριθμό 7.

ΜηναςΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στον μήνα της δεδομένης ημερομηνίας.

Παράδειγμα: Μήνας («29/01/2015») επιστρέφει την τιμή 1.

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

Στα μέσα(γραμμή, Εκκίνηση, μήκος)

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

Παράδειγμα:

  • Mid(“abvgdejziklmn”, 4, 5) επιστρέφει τη συμβολοσειρά "where";
  • Mid(“abvgdejziklmn”, 10, 2) επιστρέφει τη συμβολοσειρά "cl".
ΛεπτόΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στον αριθμό των λεπτών στον δεδομένο χρόνο. Παράδειγμα: Λεπτό («22:45:15») επιστρέφει την τιμή 45.
ΤώραΕπιστρέφει την τρέχουσα ημερομηνία και ώρα συστήματος.
ΔεξίΕπιστρέφει τον καθορισμένο αριθμό χαρακτήρων από το τέλος της δεδομένης συμβολοσειράς. Σύνταξη συνάρτησης:

Σωστά(γραμμή, μήκος)

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

Παράδειγμα:

  • Δεξιά («abvgdezhziklmn», 4) επιστρέφει τη συμβολοσειρά "clmn"?
  • Δεξιά («abvgdezhziklmn», 1) επιστρέφει τη συμβολοσειρά "n".
ΔεύτεροςΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στον αριθμό των δευτερολέπτων στον δεδομένο χρόνο.

Παράδειγμα: Δεύτερο («22:45:15») επιστρέφει την τιμή 15.

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

Παράδειγμα:

  • Sqr(4) επιστρέφει την τιμή 2.
  • Sqr(16) επιστρέφει την τιμή 4.
ΧρόνοςΕπιστρέφει την τρέχουσα ώρα συστήματος.
ΠάνωΕπιστρέφει τον εκθέτη της καθορισμένης διάστασης πίνακα.

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

έτοςΕπιστρέφει έναν ακέραιο αριθμό που αντιστοιχεί στο έτος της δεδομένης ημερομηνίας. Παράδειγμα: Έτος («29/01/2015») επιστρέφει την τιμή 2015.

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

Αφήστε μια απάντηση