Αντικείμενο εφαρμογής VBA Excel - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

Φύλλο εργασίας Λειτουργία | ScreenUpdating | DisplayAlerts | Υπολογισμός

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

Φύλλο εργασίας

Μπορείτε να χρησιμοποιήσετε την ιδιότητα WorksheetFunction στο Excel VBA για πρόσβαση στις λειτουργίες του Excel.

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

Εύρος ("A3"). Τιμή = Application.WorksheetFunction.Average (Εύρος ("A1: A2"))

Όταν κάνετε κλικ στο κουμπί εντολών στο φύλλο εργασίας, το Excel VBA υπολογίζει τον μέσο όρο των τιμών στο κελί A1 και στο κελί A2 και τοποθετεί το αποτέλεσμα στο κελί A3.

Σημείωση: αντί για Application.WorksheetFunction.Average, απλώς χρησιμοποιήστε το WorksheetFunction.Average. Αν κοιτάξετε τη γραμμή τύπων, μπορείτε να δείτε ότι ο ίδιος ο τύπος δεν έχει εισαχθεί στο κελί A3. Για να εισαγάγετε τον ίδιο τον τύπο στο κελί A3, χρησιμοποιήστε την ακόλουθη γραμμή κωδικού:

Εύρος ("A3"). Τιμή = "= ΜΕΣΗ (A1: A2)"

ScreenUpdating

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

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

Dim i As Integer
Για i = 1 έως 10000
Εύρος ("A1"). Τιμή = i
Επόμενο i

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

2. Για να επιταχύνετε τη διαδικασία, ενημερώστε τον κώδικα ως εξής.

Dim i As Integer
Application.ScreenUpdating = Λάθος
Για i = 1 έως 10000
Εύρος ("A1"). Τιμή = i
Επόμενο i
Application.ScreenUpdating = True

Ως αποτέλεσμα, ο κωδικός σας θα τρέξει πολύ πιο γρήγορα και θα δείτε μόνο το τελικό αποτέλεσμα (10000).

DisplayAlerts

Μπορείτε να δώσετε εντολή στο Excel VBA να μην εμφανίζει ειδοποιήσεις κατά την εκτέλεση κώδικα.

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

ActiveWorkbook. Κλείσιμο

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

2. Για να δώσετε εντολή στο Excel VBA να μην εμφανίζει αυτήν την ειδοποίηση κατά την εκτέλεση κώδικα, ενημερώστε τον κώδικα ως εξής.

Application.DisplayAlerts = Λάθος
ActiveWorkbook. Κλείσιμο
Application.DisplayAlerts = True

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

Υπολογισμός

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

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

Application.Calculation = xlCalculationManual

Όταν κάνετε κλικ στο κουμπί εντολών στο φύλλο εργασίας, το Excel VBA ορίζει τον υπολογισμό σε μη αυτόματο.

2. Μπορείτε να το επαληθεύσετε κάνοντας κλικ στο Αρχείο, Επιλογές, Τύποι.

3. Τώρα όταν αλλάζετε την τιμή του κελιού Α1, η τιμή του κελιού Β1 δεν υπολογίζεται εκ νέου.

Μπορείτε να επανυπολογίσετε μη αυτόματα το βιβλίο εργασίας πατώντας F9.

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

Εφαρμογή. Υπολογισμός = xl Υπολογισμός Αυτόματος

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave