Στον κώδικα VBA, εάν πρέπει να ανατρέξετε σε ορισμένες λειτουργίες φύλλου εργασίας, όπως Sum, Vlookup κ.λπ., μπορείτε να τις χρησιμοποιήσετε απευθείας χρησιμοποιώντας το αντικείμενο εφαρμογής. Έτσι θα χρησιμοποιήσουμε τις συναρτήσεις ως -
Application.WorksheetFunction.Sum ή Application.WorksheetFunction.Vlookup όπου Το WorksheetFunction είναι η μέθοδος του αντικειμένου Application.
Λαμβάνοντας υπόψη ότι έχουμε αυτήν τη μακροεντολή δοκιμής, εάν πληκτρολογήσουμε
Application.WorksheetFunction.
Θα λάβουμε ένα αναδυόμενο παράθυρο που εμφανίζει τους τύπους που αναφέρονται στην παρακάτω εικόνα
Έτσι, για παράδειγμα, εάν θέλετε να αθροίσετε τις τιμές αυτού του εύρους στη στήλη Α χρησιμοποιώντας το vba -
Ας έχουμε μια μεταβλητή που ονομάζεται SalesTotal η οποία θα εξοικονομήσει το άθροισμα σε αυτήν. Για να λάβουμε το σύνολο στο SalesTotal, θα χρησιμοποιήσουμε τον ακόλουθο κώδικα VBA στην τυπική μονάδα:
Υπο macro4 ()Dim SalesTotal As Long
SalesTotal = Application.WorksheetFunction.Sum (Εύρος ("A2: A6"))
MsgBox SalesTotal
Τέλος υπο
Για να αντιγράψετε τον παραπάνω κώδικα στο αρχείο σας,
- Πατήστε Alt + F11 στο πληκτρολόγιο.
- Στην αριστερή πλευρά, θα δείτε τα αντικείμενα του Microsoft Excel.
- Κάντε δεξί κλικ και επιλέξτε Εισαγωγή.
- Στη συνέχεια, κάντε κλικ στην ενότητα.
- Αντιγράψτε τον κώδικα στο παράθυρο κωδικών στα δεξιά.
Όταν χρησιμοποιούμε αυτό το δείγμα μακροεντολής, θα λάβουμε ένα μήνυμα που δείχνει την τιμή που είναι αποθηκευμένη στο Σύνολο πωλήσεων και μπορεί να χρησιμοποιηθεί σε περαιτέρω γραμμές κώδικα στη μακροεντολή.
Η έξοδος που θα πάρουμε είναι -
Εάν θέλετε το SalesTotal να εμφανίζεται στο κελί A7, τότε μπορείτε να αλλάξετε τη γραμμή κώδικα από
Msgbox SalesTotalπρος το Φύλλα εργασίας ("Sheet1"). Εύρος ("A7"). Τιμή = SalesTotal
Λαμβάνοντας υπόψη ότι χρειαζόμαστε επίσης τις μέσες πωλήσεις για αυτά τα στοιχεία στο κελί A9. Μπορούμε να χρησιμοποιήσουμε τον παρακάτω κώδικα
Υπο macro5 ()Dim SalesTotal As Long
Με φύλλα εργασίας ("Φύλλο1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Value = SalesTotal
.Range ("A9"). Value = Application.WorksheetFunction.Average (.Range ("A2: A6"))
Τέλος με
Τέλος υπο
Υπάρχουν μικρές αλλαγές σε αυτόν τον κώδικα σε σύγκριση με τον προηγούμενο.
- Αντί να χρησιμοποιήσω μια μεταβλητή για τον μέσο όρο, συμπλήρωσα απευθείας αυτήν την τιμή μετά τον υπολογισμό στο κελί A9. Ως εκ τούτου, θα δείτε τη γραμμή .Range ("A9"). Value = Application.WorksheetFunction.Average (.Range ("A2: A6"))
- Η γραμμή msgbox έχει καταργηθεί.
- Η τιμή στη μεταβλητή SalesTotal πηγαίνει στο κελί A7.
- Στην ιδανική περίπτωση, μπορείτε να επαναλάβετε την ίδια γραμμή κώδικα που έχει χρησιμοποιηθεί για το μέσο όρο, για τη γραμμή κωδικού Άθροισμα αντικαθιστώντας
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Value = SalesTotal
Με
.Range ("A7"). Value = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
Ωστόσο, έχει διατηρηθεί έτσι ώστε να μπορείτε να κατανοήσετε τους διαφορετικούς τρόπους κωδικοποίησης της ίδιας εργασίας. Ομοίως, μπορούμε να χρησιμοποιήσουμε άλλες συναρτήσεις κατά τη χρήση του Application.WorksheetFunction. Όλες αυτές οι λειτουργίες που μπορούμε να χρησιμοποιήσουμε απευθείας στο φύλλο εργασίας, μπορούμε να τις χρησιμοποιήσουμε εδώ.
Αυτό διευκολύνει τη χρήση των συναρτήσεων στον κώδικα, ώστε να μπορούμε να υπολογίσουμε τους τύπους που απαιτούνται χωρίς να χρειαστεί να δημιουργήσουμε έναν κωδικό για τον τύπο.
Αν σας άρεσαν τα ιστολόγια μας, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε, να συμπληρώσουμε ή να καινοτομήσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στο ιστοσελίδα email