Ένα σεμινάριο για αρχάριους για τη σύνταξη μακροεντολών VBA στο Excel (και γιατί πρέπει να μάθετε)

Ένα σεμινάριο για αρχάριους για τη σύνταξη μακροεντολών VBA στο Excel (και γιατί πρέπει να μάθετε)

Οι μακροεντολές του Excel μπορούν να σας εξοικονομήσουν πολύ χρόνο αυτοματοποίηση διαδικασιών Excel που χρησιμοποιείτε συχνά Το Αλλά οι μακροεντολές είναι στην πραγματικότητα αρκετά περιορισμένες. Είναι εύκολο να κάνετε λάθος με το εργαλείο εγγραφής και η διαδικασία εγγραφής είναι αμήχανη.





Η χρήση του VBA για τη δημιουργία μακροεντολών σας δίνει πολύ περισσότερη ισχύ. Μπορείτε να πείτε στο Excel τι ακριβώς να κάνετε και πώς να το κάνετε. Έχετε επίσης πρόσβαση σε πολύ περισσότερες λειτουργίες και δυνατότητες. Εάν χρησιμοποιείτε τακτικά το Excel, αξίζει να μάθετε πώς να δημιουργείτε μακροεντολές VBA.





Θα ξεκινήσουμε με τα βασικά.





Τι είναι το VBA;

Το VBA είναι Visual Basic για εφαρμογές , μια γλώσσα προγραμματισμού που μπορείτε να χρησιμοποιήσετε σε πολλές εφαρμογές της Microsoft. Η Visual Basic είναι μια γλώσσα προγραμματισμού και η VBA είναι η έκδοση της συγκεκριμένης εφαρμογής. (Η Microsoft διέκοψε τη Visual Basic το 2008, αλλά η VBA εξακολουθεί να είναι ισχυρή).

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



Ωστόσο, η VBA χρειάζεται λίγο χρόνο για να συνηθίσει.

Τα πλεονεκτήματα των μακροεντολών VBA στο Excel

Εάν το VBA είναι πιο δύσκολο από την εγγραφή μακροεντολής, γιατί να το χρησιμοποιήσετε; Η σύντομη απάντηση είναι ότι παίρνετε πολύ περισσότερη ισχύ από τις μακροεντολές VBA.





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

Πώς μπορώ να αποκτήσω λειτουργία πορτρέτου στο iphone 7

Και μόλις είστε πιο άνετα με το VBA, μπορείτε να κάνετε όλα τα πράγματα που μπορεί να κάνετε σε μια κανονική μακροεντολή σε πολύ λιγότερο χρόνο. Τα αποτελέσματα θα είναι επίσης πιο προβλέψιμα, όπως λέτε στο Excel ακριβώς τι να κάνω. Δεν υπάρχει καθόλου ασάφεια.





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

Ας δούμε μια απλή μακροεντολή VBA για να δούμε πώς λειτουργεί.

Παράδειγμα μακροεντολής VBA στο Excel

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

Αυτή η μακροεντολή θα προσθέσει τις τριμηνιαίες πωλήσεις από κάθε κατάστημα και θα γράψει αυτά τα σύνολα σε κελιά στο υπολογιστικό φύλλο (αν δεν είστε σίγουροι πώς να αποκτήσετε πρόσβαση στο παράθυρο διαλόγου VBA, ανατρέξτε η περιήγησή μας στο VBA εδώ ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

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

Διακήρυξη του Υπο

Στην αρχή της ενότητας, έχουμε 'Sub StoreSales ()'. Αυτό ορίζει ένα νέο υποκατάστημα που ονομάζεται StoreSales.

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

Στο τέλος της ενότητας, έχουμε το 'End Sub', το οποίο λέει στο Excel ότι τελειώσαμε με αυτήν τη μακροεντολή VBA.

Δήλωση Μεταβλητών

Οι πρώτες γραμμές κώδικα στο σενάριό μας ξεκινούν με 'Dim'. Dim είναι η εντολή της VBA για τη δήλωση μιας μεταβλητής.

Έτσι, το 'Dim Sum1' δημιουργεί μια νέα μεταβλητή που ονομάζεται 'Sum1'. Ωστόσο, πρέπει να πούμε στο Excel τι είδους μεταβλητή είναι αυτή. Πρέπει να επιλέξουμε έναν τύπο δεδομένων. Υπάρχουν πολλοί διαφορετικοί τύποι δεδομένων στο VBA --- μπορείτε να το βρείτε πλήρη λίστα στα έγγραφα βοήθειας της Microsoft Το

Επειδή η μακροεντολή VBA πρόκειται να ασχοληθεί με νομίσματα, χρησιμοποιούμε τον τύπο δεδομένων νομίσματος.

Η δήλωση 'Dim Sum1 ως νόμισμα' λέει στο Excel να δημιουργήσει μια νέα μεταβλητή νομίσματος που ονομάζεται Sum1. Κάθε μεταβλητή που δηλώνετε πρέπει να έχει μια δήλωση 'As' για να πει στον Excel τον τύπο της.

Έναρξη ενός βρόχου For

Οι βρόχοι είναι μερικά από τα πιο ισχυρά πράγματα που μπορείτε να δημιουργήσετε σε οποιαδήποτε γλώσσα προγραμματισμού. Εάν δεν είστε εξοικειωμένοι με τους βρόχους, ελέγξτε αυτήν την εξήγηση των βρόχων Do-while. Σε αυτό το παράδειγμα, χρησιμοποιούμε έναν βρόχο For, ο οποίος καλύπτεται επίσης στο άρθρο.

Δείτε πώς φαίνεται ο βρόχος:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

Αυτό λέει στο Excel να επαναλάβει τα κελιά στο εύρος που καθορίσαμε. Χρησιμοποιήσαμε ένα Εύρος αντικειμένου , το οποίο είναι ένας συγκεκριμένος τύπος αντικειμένου στο VBA. Όταν το χρησιμοποιούμε με αυτόν τον τρόπο --- Εύρος ('C2: C51') --- λέει στο Excel ότι ενδιαφερόμαστε για αυτά τα 50 κελιά.

Το 'Για καθένα' λέει στο Excel ότι θα κάνουμε κάτι με κάθε κελί της περιοχής. Το 'Επόμενο κελί' έρχεται μετά από όλα όσα θέλουμε να κάνουμε και λέει στο Excel να ξεκινήσει τον βρόχο από την αρχή (ξεκινώντας από το επόμενο κελί).

Έχουμε επίσης αυτήν τη δήλωση: 'If IsEmpty (Cell) Then Exit For.'

Μπορείτε να μαντέψετε τι κάνει;

Σημείωση: Ακριβολογώντας, η χρήση ενός βρόχου while μπορεί να ήταν καλύτερη επιλογή Το Ωστόσο, για λόγους διδασκαλίας, αποφάσισα να χρησιμοποιήσω έναν βρόχο For με μια έξοδο.

πώς αποσυνδέεστε από το netflix

Αν-Τότε-Άλλες Δηλώσεις

Ο πυρήνας αυτής της συγκεκριμένης μακροεντολής βρίσκεται στις δηλώσεις If-then-Else. Ακολουθεί η σειρά των δηλώσεων υπό όρους:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

Ως επί το πλείστον, μπορείτε πιθανώς να μαντέψετε τι κάνουν αυτές οι δηλώσεις. Ωστόσο, μπορεί να μην είστε εξοικειωμένοι με το ActiveCell.Offset. Το 'ActiveCell.Offset (0, -1)' λέει στο Excel να κοιτάξει το κελί που βρίσκεται μία στήλη στα αριστερά του ενεργού κελιού.

Στην περίπτωσή μας, αυτό λέει στο Excel να συμβουλευτεί τη στήλη αριθμού καταστήματος. Εάν το Excel βρίσκει ένα 1 σε αυτήν τη στήλη, τότε παίρνει το περιεχόμενο του ενεργού κελιού και το προσθέτει στο Sum1. Εάν βρει ένα 2, προσθέτει το περιεχόμενο του ενεργού κελιού στο Sum2. Και ούτω καθεξής.

Το Excel περνάει όλες αυτές τις δηλώσεις με τη σειρά. Αν το υπό όρους δήλωση ικανοποιείται, συμπληρώνει τη δήλωση Τότε. Εάν όχι, μεταβαίνει στο επόμενο ElseIf. Εάν φτάσει μέχρι το τέλος και καμία από τις προϋποθέσεις δεν έχει ικανοποιηθεί, δεν θα κάνει καμία ενέργεια.

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

Γραφή αξιών κυττάρων

Τέλος, μπορούμε να γράψουμε τα αποτελέσματα των υπολογισμών μας στα κελιά. Ακολουθούν οι γραμμές που χρησιμοποιούμε για να το κάνουμε αυτό:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

Με «.Αξία» και ένα σύμβολο ίσον, θέτουμε καθένα από αυτά τα κελιά στην τιμή μιας από τις μεταβλητές μας.

Και αυτό είναι! Λέμε στο Excel ότι τελειώσαμε να γράφουμε αυτό το Sub με 'End Sub' και η μακροεντολή VBA έχει ολοκληρωθεί.

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

Βάζοντας μαζί τα δομικά στοιχεία του VBA στο Excel

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

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

Όταν κολλάτε, η εκτέλεση μιας αναζήτησης Google είναι ένας γρήγορος τρόπος για να απαντήσετε στις ερωτήσεις σας VBA. Και Αναφορά του Microsoft VBA στο Excel μπορεί να είναι χρήσιμο εάν είστε πρόθυμοι να το ψάξετε για μια τεχνική απάντηση.

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

επεξεργασία πολιτικής ομάδας Windows 10 home
Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Να γιατί το FBI εξέδωσε προειδοποίηση για ransomware Hive

Το FBI εξέδωσε προειδοποίηση για ένα ιδιαίτερα δυσάρεστο είδος ransomware. Να γιατί πρέπει να είστε ιδιαίτερα επιφυλακτικοί με το ransomware της Hive.

Διαβάστε Επόμενο
Σχετικά θέματα
  • Παραγωγικότητα
  • Υπολογιστικό φύλλο
  • Microsoft Excel
  • Microsoft Office 2016
  • Μακροεντολές
  • Φροντιστήρια κωδικοποίησης
Σχετικά με τον Συγγραφέα Μετά ο Όλμπραϊτ(Δημοσιεύθηκαν 506 άρθρα)

Ο Dann είναι σύμβουλος στρατηγικής περιεχομένου και μάρκετινγκ που βοηθά τις εταιρείες να δημιουργήσουν ζήτηση και πελάτες. Επίσης, γράφει ιστολόγια σχετικά με τη στρατηγική και το μάρκετινγκ περιεχομένου στο dannalbright.com.

Περισσότερα από τον Dann Albright

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή