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

Αν και το VBA προσφέρει μια αξιοπρεπή ποικιλία από ενσωματωμένες λειτουργίες, μπορεί να μην βρίσκετε πάντα αυτό ακριβώς που χρειάζεστε. Ευτυχώς, μπορείτε επίσης να χρησιμοποιήσετε τις περισσότερες από τις συναρτήσεις φύλλου εργασίας του Excel στις διαδικασίες VBA σας. Οι μόνες συναρτήσεις φύλλου εργασίας που δεν μπορείτε να χρησιμοποιήσετε είναι αυτές που έχουν αντίστοιχη συνάρτηση VBA. Για παράδειγμα, δεν μπορείτε να χρησιμοποιήσετε τη συνάρτηση RAND του Excel (η οποία δημιουργεί έναν τυχαίο αριθμό), επειδή το VBA έχει μια ισοδύναμη συνάρτηση: Rnd.

Η VBA καθιστά διαθέσιμες τις συναρτήσεις φύλλου εργασίας του Excel μέσω του αντικειμένου WorksheetFunction, το οποίο περιέχεται στο αντικείμενο Application. Ακολουθεί ένα παράδειγμα για το πώς μπορείτε να χρησιμοποιήσετε τη συνάρτηση SUM του Excel σε μια δήλωση VBA:

Σύνολο = Application.WorksheetFunction.SUM(Range(“A1:A12”))

Μπορείτε να παραλείψετε είτε το τμήμα Εφαρμογή είτε το τμήμα Συνάρτηση φύλλου εργασίας της έκφρασης. Και στις δύο περιπτώσεις, το VBA καταλαβαίνει τι κάνετε. Με άλλα λόγια, αυτές οι τρεις εκφράσεις λειτουργούν ακριβώς το ίδιο:

Σύνολο = Application.WorksheetFunction.SUM(Range(“A1:A12”))
Σύνολο = WorksheetFunction.SUM(Range(“A1:A12”))
Σύνολο = Application.SUM(Εύρος ("A1:A12"))

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

Παραδείγματα συναρτήσεων φύλλου εργασίας

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

Εύρεση της μέγιστης τιμής σε ένα εύρος

Ακολουθεί ένα παράδειγμα που δείχνει πώς να χρησιμοποιήσετε τη συνάρτηση φύλλου εργασίας MAX του Excel σε μια διαδικασία VBA. Αυτή η διαδικασία εμφανίζει τη μέγιστη τιμή στη στήλη Α του ενεργού φύλλου εργασίας:

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

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

Sub ShowMax()
  Dim TheMax As Double
  TheMax = WorksheetFunction.MAX(Range("A:A"))
  MsgBox TheMax
End Sub

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση MIN για να λάβετε τη μικρότερη τιμή σε ένα εύρος. Και όπως θα περίμενε κανείς, μπορείτε να χρησιμοποιήσετε άλλες συναρτήσεις φύλλου εργασίας με παρόμοιο τρόπο. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση LARGE για να προσδιορίσετε την κ η μεγαλύτερη τιμή σε ένα εύρος. Η ακόλουθη έκφραση το αποδεικνύει:

SecondHighest = WorksheetFunction.LARGE(Range("A:A"),2)

Σημειώστε ότι η συνάρτηση LARGE χρησιμοποιεί δύο ορίσματα. Το δεύτερο όρισμα αντιπροσωπεύει το k ο μέρος — 2, σε αυτήν την περίπτωση (τη δεύτερη μεγαλύτερη τιμή).

Υπολογισμός πληρωμής στεγαστικού δανείου

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

Sub PmtCalc()
  Dim IntRate As Double
  Dim LoanAmt As Double
  Αχνές περίοδοι όσο καιρό
  IntRate = 0,0625 / 12
  Περίοδοι = 30 * 12
  LoanAmt = 150000
  MsgBox WorksheetFunction.PMT(IntRate, Periods, -LoanAmt)
End Sub

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

MsgBox WorksheetFunction.PMT(0.0625 /12, 360, -150000)

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

Χρήση συνάρτησης αναζήτησης

Το παρακάτω παράδειγμα χρησιμοποιεί τις συναρτήσεις InputBox και MsgBox της VBA, καθώς και τη συνάρτηση VLOOKUP του Excel. Ζητάει έναν αριθμό ανταλλακτικού και, στη συνέχεια, λαμβάνει την τιμή από έναν πίνακα αναζήτησης. Παρακάτω, το εύρος A1:B13 ονομάζεται Τιμοκατάλογος.

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

Η σειρά, που ονομάζεται PriceList, περιέχει τιμές για ανταλλακτικά.

Sub GetPrice()
  Dim PartNum As Variant
  Dim Price As Double
  PartNum = InputBox ("Εισαγάγετε τον αριθμό εξαρτήματος")
  Φύλλα ("Τιμές"). Ενεργοποίηση
  Τιμή = WorksheetFunction.VLOOKUP(PartNum, Range("PriceList"), 2, False)
  MsgBox PartNum & “cost” & Price
End Sub

Δείτε πώς λειτουργεί η διαδικασία GetPrice:

  • Η συνάρτηση InputBox του VBA ζητά από τον χρήστη έναν αριθμό ανταλλακτικού.

  • Ο αριθμός εξαρτήματος που εισάγει ο χρήστης εκχωρείται στη μεταβλητή PartNum.

  • Η επόμενη δήλωση ενεργοποιεί το φύλλο εργασίας Τιμές, σε περίπτωση που δεν είναι ήδη το ενεργό φύλλο.

  • Ο κωδικός χρησιμοποιεί τη συνάρτηση VLOOKUP για να βρει τον αριθμό εξαρτήματος στον πίνακα.

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

  • Ο κωδικός εμφανίζει την τιμή του εξαρτήματος μέσω της συνάρτησης MsgBox.

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

Εισαγωγή συναρτήσεων φύλλου εργασίας

Δεν μπορείτε να χρησιμοποιήσετε το πλαίσιο διαλόγου Συνάρτηση Επικόλλησης του Excel για να εισαγάγετε μια συνάρτηση φύλλου εργασίας σε μια λειτουργική μονάδα VBA. Αντίθετα, εισάγετε τέτοιες λειτουργίες με τον παλιομοδίτικο τρόπο: με το χέρι. Ωστόσο, μπορείτε να χρησιμοποιήσετε το πλαίσιο διαλόγου Επικόλληση συνάρτησης για να προσδιορίσετε τη συνάρτηση που θέλετε να χρησιμοποιήσετε και να μάθετε για τα ορίσματά της.

Μπορείτε επίσης να επωφεληθείτε από την επιλογή Auto List Members του VBE, η οποία εμφανίζει μια αναπτυσσόμενη λίστα με όλες τις λειτουργίες του φύλλου εργασίας. Απλώς πληκτρολογήστε Application.WorksheetFunction , ακολουθούμενο από μια τελεία. Στη συνέχεια, βλέπετε μια λίστα με τις λειτουργίες που μπορείτε να χρησιμοποιήσετε. Εάν αυτή η δυνατότητα δεν λειτουργεί, επιλέξτε την εντολή Εργαλεία → Επιλογές του VBE, κάντε κλικ στην καρτέλα Επεξεργαστής και τοποθετήστε μια επιλογή δίπλα στην επιλογή Αυτόματη λίστα μελών.

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

Λήψη λίστας συναρτήσεων φύλλου εργασίας που μπορείτε να χρησιμοποιήσετε στον κώδικα VBA.

Περισσότερα σχετικά με τη χρήση συναρτήσεων φύλλου εργασίας

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

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

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


Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

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

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Εάν έχετε χρησιμοποιήσει το στυλό ή το highlighter για να σχεδιάσετε στις διαφάνειες του PowerPoint κατά τη διάρκεια μιας παρουσίασης, μπορείτε να αποθηκεύσετε τα σχέδια για την επόμενη παρουσίαση ή να τα σβήσετε, ώστε την επόμενη φορά που θα το δείξετε να ξεκινήσετε με καθαρές διαφάνειες PowerPoint. Ακολουθήστε αυτές τις οδηγίες για να διαγράψετε σχέδια με στυλό και επισημάνσεις: Σβήσιμο γραμμών μία στο […]

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

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

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

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

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]