Χρήση λειτουργιών φύλλου εργασίας σε παραδείγματα κώδικα μακροεντολών - VBA

Υπάρχουν πολλοί τρόποι χρήσης των λειτουργιών στο VBA. Το VBA έρχεται φορτωμένο με πολλές ενσωματωμένες λειτουργίες. Μπορείτε ακόμη να δημιουργήσετε τις δικές σας λειτουργίες (UDF). Ωστόσο, μπορείτε επίσης να χρησιμοποιήσετε πολλές από τις λειτουργίες του Excel στο VBA χρησιμοποιώντας το Application.WorksheetFunction.

Πώς να χρησιμοποιήσετε τις λειτουργίες φύλλου εργασίας στο VBA

Για πρόσβαση σε μια συνάρτηση Excel στο VBA προσθέστε Application.WorksheetFunction μπροστά από τη λειτουργία που θέλετε να καλέσετε. Στο παρακάτω παράδειγμα, θα καλέσουμε τη μέγιστη συνάρτηση του Excel:

12 Χαμηλή μέγιστη τιμή όσο καιρόmaxvalue = Application.WorksheetFunction.Max (Εύρος ("a1"). Τιμή, Εύρος ("a2"). Τιμή)

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

Παρατηρήστε ότι η σύνταξη της λειτουργίας Max εμφανίζεται όταν πληκτρολογείτε (παρόμοια με τις λειτουργίες VBA):

Φύλλο εργασίας Μέθοδος λειτουργίας

Το WorksheetFunction είναι μια μέθοδος αντικειμένου εφαρμογής. Σας επιτρέπει να έχετε πρόσβαση σε πολλές (όχι όλες) τις τυπικές λειτουργίες του φύλλου εργασίας του Excel. Γενικά, δεν θα έχετε πρόσβαση σε οποιεσδήποτε λειτουργίες φύλλου εργασίας που έχουν αντίστοιχη έκδοση VBA.

Μπορείτε να δείτε μια λίστα με πολλές από τις πιο κοινές λειτουργίες φύλλου εργασίας παρακάτω.

Application.WorksheetFunction vs Application

Υπάρχουν δύο τρόποι πρόσβασης σε αυτές τις λειτουργίες:

Application.WorksheetFunction (όπως φαίνεται παραπάνω):

1 maxvalue = Application.WorksheetFunction.Max (Εύρος ("a1"). Τιμή, Εύρος ("a2"). Τιμή)

ή μπορείτε να παραλείψετε τη Λειτουργία φύλλου εργασίας

1 maxvalue = Application.Max (Range ("a1"). Value, Range ("a2"). Value)

Δυστυχώς, η παράλειψη του WorksheetFunction θα εξαλείψει το Intellisense που εμφανίζει τη σύνταξη (δείτε την παραπάνω εικόνα). Ωστόσο, έχει ένα μεγάλο πιθανό πλεονέκτημα: Χειρισμός σφαλμάτων.

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

Ας δούμε ένα παράδειγμα για να δούμε τη διαφορά:

Χειρισμός σφαλμάτων συνάρτησης Vlookup WorksheetFunction

Θα προσπαθήσουμε να εκτελέσουμε ένα Vlookup που δεν θα έχει ως αποτέλεσμα έναν αγώνα. Έτσι, η συνάρτηση Vlookup θα επιστρέψει ένα σφάλμα.

Αρχικά, θα χρησιμοποιήσουμε τη μέθοδο WorksheetFunction. Παρατηρήστε πώς το VBA ρίχνει ένα σφάλμα:

Στη συνέχεια παραλείπουμε τη Λειτουργία φύλλου εργασίας. Παρατηρήστε πώς το

Στη συνέχεια θα παραλείψουμε το WorksheetFunction. Παρατηρήστε πώς δεν ρίχνεται κανένα σφάλμα και αντ 'αυτού η συνάρτηση "τιμή" περιέχει την τιμή σφάλματος από το Vlookup.

Λίστα λειτουργιών φύλλου εργασίας VBA

Παρακάτω θα βρείτε μια λίστα με τις περισσότερες κοινές λειτουργίες φύλλου εργασίας VBA.

ΛειτουργίαΠεριγραφή
Λογικός
ΚΑΙΕλέγχει εάν πληρούνται όλες οι προϋποθέσεις. ΣΩΣΤΟ ΛΑΘΟΣ
ΑΝΕάν πληρούνται οι προϋποθέσεις, κάντε κάτι, αν όχι, κάντε κάτι άλλο.
IFERRORΕάν το αποτέλεσμα είναι σφάλμα, κάντε κάτι άλλο.
ΉΕλέγχει εάν πληρούνται οι όροι. ΣΩΣΤΟ ΛΑΘΟΣ
Αναζήτηση και αναφορά
ΕΠΙΛΕΓΩΕπιλέγει μια τιμή από μια λίστα με βάση τον αριθμό θέσης της.
HLOOKUPΑναζητήστε μια τιμή στην πρώτη σειρά και επιστρέψτε μια τιμή.
ΔΕΙΚΤΗΣΕπιστρέφει μια τιμή με βάση τους αριθμούς στηλών και σειρών.
ΨΑΧΝΩΑναζητά τιμές είτε οριζόντια είτε κάθετα.
ΑΓΩΝΑΣΑναζητά μια τιμή σε μια λίστα και επιστρέφει τη θέση της.
ΜΕΤΑΘΕΤΩΑναστρέφει τον προσανατολισμό μιας σειράς κελιών.
VLOOKUPΑναζητήστε μια τιμή στην πρώτη στήλη και επιστρέψτε μια τιμή.
Ημερομηνία ώρα
ΗΜΕΡΟΜΗΝΙΑΕπιστρέφει μια ημερομηνία από έτος, μήνα και ημέρα.
DATEVALUEΜετατρέπει μια ημερομηνία που είναι αποθηκευμένη ως κείμενο σε έγκυρη ημερομηνία
ΗΜΕΡΑΕπιστρέφει την ημέρα ως αριθμό (1-31).
DAYS360Επιστρέφει ημέρες μεταξύ 2 ημερομηνιών σε έτος 360 ημερών.
ΕΚΠΑΙΔΕΥΣΗΕπιστρέφει μια ημερομηνία, n μήνες μακριά από την ημερομηνία έναρξης.
ΕΟΜΟΝΘΟΣΕπιστρέφει την τελευταία ημέρα του μήνα, n μήνες πριν από την ημερομηνία.
ΩΡΑΕπιστρέφει την ώρα ως αριθμό (0-23).
ΛΕΠΤΟΕπιστρέφει το λεπτό ως αριθμός (0-59).
ΜΗΝΑΣΕπιστρέφει τον μήνα ως αριθμό (1-12).
ΔΙΚΤΥΕΣ ΗΜΕΡΕΣΑριθμός εργάσιμων ημερών μεταξύ 2 ημερομηνιών.
NETWORKDAYS.INTLΕργάσιμες ημέρες μεταξύ 2 ημερομηνιών, προσαρμοσμένα Σαββατοκύριακα.
ΤΩΡΑΕπιστρέφει την τρέχουσα ημερομηνία και ώρα.
ΔΕΥΤΕΡΟΣΕπιστρέφει το δεύτερο ως αριθμό (0-59)
ΧΡΟΝΟΣΕπιστρέφει το χρόνο από μία ώρα, λεπτό και δευτερόλεπτο.
ΧΡΟΝΟΣΜετατρέπει τον χρόνο που είναι αποθηκευμένος ως κείμενο σε έγκυρο χρόνο.
ΚΑΘΗΜΕΡΙΝΗΕπιστρέφει την ημέρα της εβδομάδας ως αριθμό (1-7).
ΕΒΔΟΜΑΔΙΑΕπιστρέφει τον αριθμό της εβδομάδας σε ένα έτος (1-52).
ΗΜΕΡΑ ΕΡΓΑΣΙΑΣΗ ημερομηνία n εργάσιμες ημέρες από μια ημερομηνία.
ΕΤΟΣΕπιστρέφει το έτος.
YEARFRACΕπιστρέφει το κλάσμα του έτους μεταξύ 2 ημερομηνιών.
Μηχανική
ΜΕΤΑΤΡΕΠΩΜετατρέψτε τον αριθμό από τη μία μονάδα στην άλλη.
Χρηματοοικονομική
FVΥπολογίζει τη μελλοντική τιμή.
ΦΒΥπολογίζει την παρούσα τιμή.
NPERΥπολογίζει το συνολικό αριθμό των περιόδων πληρωμής.
PMTΥπολογίζει το ποσό πληρωμής.
ΤΙΜΗΥπολογίζει το Επιτόκιο.
NPVΥπολογίζει την καθαρή παρούσα αξία.
IRRΟ εσωτερικός ρυθμός απόδοσης για ένα σύνολο περιοδικών CF.
XIRRΟ εσωτερικός ρυθμός απόδοσης για ένα σύνολο μη περιοδικών CF.
ΤΙΜΗΥπολογίζει την τιμή ενός ομολόγου.
ΕΙΣΑΓΩΓΙΚΟΤο επιτόκιο ενός πλήρως επενδυμένου τίτλου.
Πληροφορίες
ISERRΕλέγξτε εάν η τιμή κελιού είναι σφάλμα, αγνοεί το #N/A. ΣΩΣΤΟ ΛΑΘΟΣ
ISERRORΕλέγξτε εάν η τιμή κελιού είναι σφάλμα. ΣΩΣΤΟ ΛΑΘΟΣ
ISEVENΔοκιμάστε αν η τιμή κελιού είναι άρτια. ΣΩΣΤΟ ΛΑΘΟΣ
ΙΣΛΟΓΙΚΟΔοκιμάστε αν το κελί είναι λογικό (ΑΛΗΘΙΝΟ ή ΛΑΘΟΣ). ΣΩΣΤΟ ΛΑΘΟΣ
ISNAΕλέγξτε αν η τιμή κελιού είναι #N/A. ΣΩΣΤΟ ΛΑΘΟΣ
ISNONTEXTΔοκιμάστε αν το κελί δεν είναι κείμενο (τα κενά κελιά δεν είναι κείμενο). ΣΩΣΤΟ ΛΑΘΟΣ
ΑΡΙΘΜΟΣΔοκιμάστε αν το κελί είναι ένας αριθμός. ΣΩΣΤΟ ΛΑΘΟΣ
ISODDΕλέγξτε αν η τιμή κελιού είναι περιττή. ΣΩΣΤΟ ΛΑΘΟΣ
ISTEXTΔοκιμάστε αν το κελί είναι κείμενο. ΣΩΣΤΟ ΛΑΘΟΣ
ΤΥΠΟΣΕπιστρέφει τον τύπο της τιμής σε ένα κελί.
Μαθηματικά
ABSΥπολογίζει την απόλυτη τιμή ενός αριθμού.
ΣΥΝΟΛΟΟρίστε και εκτελέστε υπολογισμούς για μια βάση δεδομένων ή μια λίστα.
ΟΡΟΦΗΣτρογγυλοποιεί έναν αριθμό προς τα πάνω, στο πλησιέστερο καθορισμένο πολλαπλάσιο.
COSΕπιστρέφει το συνημίτονο μιας γωνίας.
ΠΤΥΧΙΑΜετατρέπει ακτίνια σε μοίρες.
DSUMΣυγκεντρώνει εγγραφές βάσης δεδομένων που πληρούν ορισμένα κριτήρια.
ΑΚΟΜΗ ΚΑΙΣτρογγυλοποιείται στον πλησιέστερο ακέραιο.
ΛΗΞΗΥπολογίζει την εκθετική τιμή για έναν δεδομένο αριθμό.
ΓΕΓΟΝΟΣΕπιστρέφει το παραγοντικό.
ΠΑΤΩΜΑΣτρογγυλοποιεί έναν αριθμό προς τα κάτω, στο πλησιέστερο καθορισμένο πολλαπλάσιο.
GCDΕπιστρέφει τον μεγαλύτερο κοινό διαιρέτη.
INTΣτρογγυλοποιεί έναν αριθμό στον πλησιέστερο ακέραιο.
LCMΕπιστρέφει το λιγότερο κοινό πολλαπλάσιο.
LNΕπιστρέφει τον φυσικό λογάριθμο ενός αριθμού.
ΚΟΥΤΣΟΥΡΟΕπιστρέφει τον λογάριθμο ενός αριθμού σε μια καθορισμένη βάση.
LOG10Επιστρέφει τον λογάριθμο βάσης-10 ενός αριθμού.
MROUNDΣτρογγυλοποιεί έναν αριθμό σε ένα καθορισμένο πολλαπλάσιο.
ΠΕΡΙΤΤΟΣΣτρογγυλοποιείται στον πλησιέστερο περιττό ακέραιο.
πιΗ τιμή του PI.
ΕΞΟΥΣΙΑΥπολογίζει έναν αριθμό που αυξάνεται σε μια ισχύ.
ΠΡΟΪΟΝΠολλαπλασιάζει έναν πίνακα αριθμών.
ΠΗΛΙΚΟΕπιστρέφει το ακέραιο αποτέλεσμα της διαίρεσης.
ΡΑΔΙΑΝΤΕΣΜετατρέπει μια γωνία σε ακτίνια.
RANDBETWEENΥπολογίζει έναν τυχαίο αριθμό μεταξύ δύο αριθμών.
ΓΥΡΟΣΣτρογγυλοποιεί έναν αριθμό σε έναν καθορισμένο αριθμό ψηφίων.
ΣΤΡΟΓΓΥΛΟΠΟΙΗΣΗ ΠΡΟΣ ΤΑ ΚΑΤΩΣτρογγυλοποιεί έναν αριθμό προς τα κάτω (προς το μηδέν).
ΜΑΝΔΡΙΣΜΑ ΖΩΩΝΣτρογγυλοποιεί έναν αριθμό προς τα πάνω (μακριά από το μηδέν).
ΑΜΑΡΤΙΑΕπιστρέφει το ημίτονο μιας γωνίας.
ΜΕΡΙΚΟ ΣΥΝΟΛΟΕπιστρέφει μια συνοπτική στατιστική για μια σειρά δεδομένων.
ΑΘΡΟΙΣΜΑΠροσθέτει αριθμούς μαζί.
SUMIFΑθροίζει αριθμούς που πληρούν κριτήρια.
ΑΡΙΣΤΟΙΑθροίζει αριθμούς που πληρούν πολλαπλά κριτήρια.
SUMPRODUCTΠολλαπλασιάζει πίνακες αριθμών και αθροίζει τον πίνακα που προκύπτει.
ΗΛΙΟΚΑΜΕΝΟΣΕπιστρέφει την εφαπτομένη μιας γωνίας.
Στατιστικά
ΜΕΣΗ ΤΙΜΗΜέσους αριθμούς.
AVERAGEIFΜέσος όρος αριθμών που πληρούν κριτήρια.
ΜΕΣΟΤΕΡΑΜέσος όρος αριθμών που πληρούν πολλαπλά κριτήρια.
ΚΟΡΕΛΥπολογίζει το συσχετισμό δύο σειρών.
ΜΕΤΡΩΜετράει κελιά που περιέχουν έναν αριθμό.
ΚΟΥΝΤΑΜετρήστε τα κελιά που δεν είναι κενά.
ΛΟΓΙΣΜΙΚΟΣ ΤΡΑΠΕΖΟΣΜετράει τα κελιά που είναι κενά.
COUNTIFΜετράει κελιά που πληρούν κριτήρια.
COUNTIFSΜετράει κελιά που πληρούν πολλαπλά κριτήρια.
ΠΡΟΒΛΕΨΗΠροβλέψτε μελλοντικές τιμές y από γραμμική γραμμή τάσης.
ΣΥΧΝΟΤΗΤΑΜετράει τιμές που εμπίπτουν σε καθορισμένα εύρη.
ΑΝΑΠΤΥΞΗΥπολογίζει τις τιμές Υ με βάση την εκθετική ανάπτυξη.
ΑΝΑΧΑΙΤΙΖΩΥπολογίζει την ανάσχεση Υ για μια γραμμή που ταιριάζει καλύτερα.
ΜΕΓΑΛΟΕπιστρέφει τη μεγαλύτερη τιμή k.
LINESTΕπιστρέφει στατιστικά στοιχεία για μια γραμμή τάσης.
ΜΕΓΙΣΤΗΕπιστρέφει τον μεγαλύτερο αριθμό.
ΔΙΑΜΕΣΟΣΕπιστρέφει τον διάμεσο αριθμό.
ΜΙΝΕπιστρέφει τον μικρότερο αριθμό.
ΤΡΟΠΟΣΕπιστρέφει τον πιο κοινό αριθμό.
ΠΕΡΙΣΤΕΡΙΛΙΚΟΕπιστρέφει το εκατοστημόριο kth.
PERCENTILE.INCΕπιστρέφει το εκατοστημόριο kth. Όπου το k περιλαμβάνει.
PERCENTILE.EXCΕπιστρέφει το εκατοστημόριο kth. Όπου το k είναι αποκλειστικό.
ΤΕΤΑΡΤΙΚΟΕπιστρέφει την καθορισμένη τεταρτημοριακή τιμή.
QUARTILE.INCΕπιστρέφει την καθορισμένη τεταρτημοριακή τιμή. Περιεκτικός.
QUARTILE.EXCΕπιστρέφει την καθορισμένη τεταρτημοριακή τιμή. Αποκλειστικός.
ΤΑΞΗΚατάταξη ενός αριθμού μέσα σε μια σειρά.
RANK.AVGΚατάταξη ενός αριθμού μέσα σε μια σειρά. Μέσοι όροι
RANK.EQΚατάταξη ενός αριθμού μέσα σε μια σειρά. Κορυφαία κατάταξη.
ΚΛΙΣΗΥπολογίζει την κλίση από γραμμική παλινδρόμηση.
ΜΙΚΡΟΕπιστρέφει τη μικρότερη τιμή kth.
STDEVΥπολογίζει την τυπική απόκλιση.
STDEV.PΥπολογίζει το SD ενός ολόκληρου πληθυσμού.
STDEV.SΥπολογίζει το SD ενός δείγματος.
STDEVPΥπολογίζει το SD ενός ολόκληρου πληθυσμού
ΤΑΣΗΥπολογίζει τις τιμές Υ βάσει γραμμής τάσης.
Κείμενο
ΚΑΘΑΡΗΑφαιρεί όλους τους μη εκτυπώσιμους χαρακτήρες.
ΔΟΛΑΡΙΟΜετατρέπει έναν αριθμό σε κείμενο σε μορφή νομίσματος.
ΕΥΡΗΜΑΕντοπίζει τη θέση του κειμένου μέσα σε ένα κελί. Με διάκριση πεζών-κεφαλαίων.
ΑΡΙΣΤΕΡΑΠερικοπεί κείμενο σε αριθμό χαρακτήρων από τα αριστερά.
LENΜετράει αριθμό χαρακτήρων στο κείμενο.
ΣΤΑ ΜΕΣΑΕξάγει κείμενο από τη μέση ενός κελιού.
ΚΑΤΑΛΛΗΛΟΣΜετατρέπει το κείμενο σε κατάλληλη περίπτωση.
ΑΝΤΙΚΑΘΙΣΤΩΑντικαθιστά το κείμενο με βάση την τοποθεσία του.
REPTΕπαναλαμβάνει το κείμενο αρκετές φορές.
ΣΩΣΤΑΠερικοπεί κείμενο σε αριθμό χαρακτήρων από τα δεξιά.
ΑΝΑΖΗΤΗΣΗΕντοπίζει τη θέση του κειμένου μέσα σε ένα κελί. Δεν έχει διάκριση πεζών-κεφαλαίων.
ΥΠΟΚΑΤΑΣΤΑΤΟΒρίσκει και αντικαθιστά κείμενο. Με διάκριση πεζών-κεφαλαίων.
ΚΕΙΜΕΝΟΜετατρέπει μια τιμή σε κείμενο με συγκεκριμένη μορφή αριθμού.
ΤΑΚΤΟΠΟΙΗΣΗΑφαιρεί όλα τα επιπλέον κενά από το κείμενο.
wave wave wave wave wave