VBA στο Excel: Τι είναι η Visual Basic για εφαρμογές, πώς να χρησιμοποιήσετε

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

Anonim
Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs

Θέλω να επεκτείνω τα σοφά λόγια του Steve Jobs και να πω ότι όλοι στον κόσμο πρέπει να μάθουν πώς να προγραμματίζουν έναν υπολογιστή. Μπορεί να μην είναι απαραίτητο να καταλήξετε να εργάζεστε ως προγραμματιστής ή να γράφετε προγράμματα καθόλου, αλλά θα σας διδάξει πώς να σκέφτεστε.

Σε αυτό το σεμινάριο VBA, θα καλύψουμε τα ακόλουθα θέματα.

  • Τι είναι η Visual Basic for Applications (VBA);
  • Γιατί VBA;
  • Προσωπικές & επιχειρηματικές εφαρμογές του VBA στο Excel
  • Εισαγωγή στη Visual Basic για εφαρμογές
  • Βήμα προς βήμα παράδειγμα δημιουργίας μιας απλής αριθμομηχανής EMI στο Excel
  • Παράδειγμα VBA Excel

Τι είναι η Visual Basic for Applications (VBA);

Η Visual Basic for Applications (VBA) είναι μια γλώσσα προγραμματισμού βάσει συμβάντων που υλοποιείται από τη Microsoft για την ανάπτυξη εφαρμογών του Office. Το VBA βοηθά στην ανάπτυξη διαδικασιών αυτοματισμού, API των Windows και λειτουργιών που καθορίζονται από το χρήστη. Σας επιτρέπει επίσης να χειριστείτε τις δυνατότητες διεπαφής χρήστη των εφαρμογών κεντρικού υπολογιστή.

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

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

Το VBA είναι στην πραγματικότητα ένα υποσύνολο της Visual Basic 6.0 BASIC σημαίνει B eginners A ll-Purpose S ymbolic I nstruction C ode.

Γιατί VBA;

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

Προσωπικές & επιχειρηματικές εφαρμογές του VBA στο Excel

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

Για επαγγελματική χρήση, μπορείτε να δημιουργήσετε πλήρη ισχυρά προγράμματα που υποστηρίζονται από το Excel και το VBA. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι μπορείτε να αξιοποιήσετε τα ισχυρά χαρακτηριστικά του Excel στα δικά σας προσαρμοσμένα προγράμματα.

Εισαγωγή στη Visual Basic για εφαρμογές

Προτού μπορέσουμε να γράψουμε οποιονδήποτε κώδικα, πρέπει πρώτα να γνωρίζουμε τα βασικά. Τα ακόλουθα βασικά θα σας βοηθήσουν να ξεκινήσετε.

  • Μεταβλητή - στο γυμνάσιο μάθαμε για την άλγεβρα. Εύρεση (x + 2y) όπου x = 1 και y = 3. Σε αυτήν την έκφραση, τα x και y είναι μεταβλητές. Μπορούν να τους δοθούν αριθμοί, δηλαδή 1 και 3 αντίστοιχοι, όπως σε αυτό το παράδειγμα. Μπορούν επίσης να αλλάξουν σε 4 και 2 αντίστοιχα. Οι μεταβλητές εν συντομία είναι θέσεις μνήμης. Καθώς εργάζεστε με το VBA Excel, θα σας ζητηθεί να δηλώσετε μεταβλητές, όπως ακριβώς και σε τάξεις άλγεβρας
  • Κανόνες για τη δημιουργία μεταβλητών
    • Μην χρησιμοποιείτε δεσμευμένες λέξεις - εάν εργάζεστε ως φοιτητής, δεν μπορείτε να χρησιμοποιήσετε τον τίτλο λέκτορα ή διευθυντή. Αυτοί οι τίτλοι προορίζονται για τους καθηγητές και τη σχολική αρχή. Οι δεσμευμένες λέξεις είναι εκείνες οι λέξεις που έχουν ιδιαίτερη σημασία στο Excel VBA και ως εκ τούτου, δεν μπορείτε να τις χρησιμοποιήσετε ως μεταβλητά ονόματα.
    • Τα ονόματα των μεταβλητών δεν μπορούν να περιέχουν κενά - δεν μπορείτε να ορίσετε μια μεταβλητή που ονομάζεται πρώτος αριθμός. Μπορείτε να χρησιμοποιήσετε το firstNumber ή το first_number.
    • Χρησιμοποιήστε περιγραφικά ονόματα - είναι πολύ δελεαστικό να ονομάσετε μια μεταβλητή μετά τον εαυτό σας, αλλά αποφύγετε αυτό. Χρησιμοποιήστε περιγραφικά ονόματα, όπως ποσότητα, τιμή, υποσύνολο κ.λπ. αυτό θα κάνει τον κώδικα Excel VBA σας ευανάγνωστο
  • Αριθμητικοί τελεστές - Ισχύουν οι κανόνες των αγκυλών του πολλαπλασιασμού διαίρεσης και αφαίρεσης (BODMAS), οπότε θυμηθείτε να τους εφαρμόζετε όταν εργάζεστε με εκφράσεις που χρησιμοποιούν πολλαπλούς διαφορετικούς αριθμητικούς τελεστές. Όπως και στο Excel, μπορείτε να το χρησιμοποιήσετε
    • + για προσθήκη
    • - για αφαίρεση
    • * για πολλαπλασιασμό
    • / για διαίρεση.
  • Λογικοί τελεστές - Η έννοια των λογικών τελεστών που καλύπτεται στα προηγούμενα σεμινάρια ισχύει επίσης όταν εργάζεστε με το VBA. Αυτά περιλαμβάνουν
    • Εάν δηλώσεις
    • Ή
    • ΔΕΝ
    • ΚΑΙ
    • ΑΛΗΘΗΣ
    • ΨΕΥΔΗΣ

Πώς να ενεργοποιήσετε την καρτέλα προγραμματιστή

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

  • Δημιουργήστε ένα νέο βιβλίο εργασίας
  • Κάντε κλικ στο κουμπί έναρξης κορδέλας
  • Ορίστε επιλογές
  • Κάντε κλικ στην προσαρμογή κορδέλας
  • Επιλέξτε το πλαίσιο ελέγχου προγραμματιστή όπως φαίνεται στην παρακάτω εικόνα
  • Κάντε κλικ στο OK

Τώρα θα μπορείτε να δείτε την καρτέλα DEVELOPER στην κορδέλα

VBA Γεια Κόσμος!

Τώρα θα δείξουμε πώς να προγραμματίζουμε σε γλώσσα προγραμματισμού VBA. Όλο το πρόγραμμα στο VBA πρέπει να ξεκινά με "Sub" και να τελειώνει με "End sub". Εδώ είναι το όνομα που θέλετε να αντιστοιχίσετε στο πρόγραμμά σας. Ενώ το sub σημαίνει μια υπορουτίνα που θα μάθουμε στο επόμενο μέρος του σεμιναρίου.

Sub name()… End Sub

Θα δημιουργήσουμε ένα βασικό πρόγραμμα VBA που εμφανίζει ένα πλαίσιο εισαγωγής για να ζητήσει το όνομα του χρήστη και στη συνέχεια θα εμφανίσει ένα μήνυμα χαιρετισμού

Αυτό το σεμινάριο προϋποθέτει ότι έχετε ολοκληρώσει το σεμινάριο για τις μακροεντολές στο Excel και έχετε ενεργοποιήσει την καρτέλα DEVELOPER στο Excel.

  • Δημιουργήστε ένα νέο βιβλίο εργασίας
  • Αποθηκεύστε το σε μορφή φύλλου εργασίας με δυνατότητα μακροεντολής excel * .xlsm
  • Κάντε κλικ στην καρτέλα DEVELOPER
  • Κάντε κλικ στο αναπτυσσόμενο πλαίσιο INSERT κάτω από τη γραμμή κορδέλας ελέγχου
  • Επιλέξτε ένα κουμπί εντολής όπως φαίνεται στην παρακάτω εικόνα

Σχεδιάστε το κουμπί εντολής οπουδήποτε στο φύλλο εργασίας

Θα λάβετε το ακόλουθο παράθυρο διαλόγου

  • Μετονομάστε το όνομα της μακροεντολής σε btnHelloWorld_Click
  • Κάντε κλικ στο νέο κουμπί
  • Θα λάβετε το ακόλουθο παράθυρο κώδικα VBA

Εισαγάγετε τους ακόλουθους κωδικούς οδηγιών

Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name

ΕΔΩ,

  • Το "Dim name as String" δημιουργεί μια μεταβλητή που ονομάζεται όνομα. Η μεταβλητή θα δέχεται κείμενο, αριθμητικούς και άλλους χαρακτήρες επειδή την ορίσαμε ως συμβολοσειρά
  • "name = InputBox (" Enter your name ")" καλεί την ενσωματωμένη συνάρτηση InputBox που εμφανίζει ένα παράθυρο με τη λεζάντα Εισαγάγετε το όνομά σας. Το όνομα που καταχωρίσατε αποθηκεύεται στη συνέχεια στη μεταβλητή ονόματος.
  • Το " MsgBox" Hello "+ name" καλεί την ενσωματωμένη συνάρτηση MsgBox που εμφανίζει το Hello και το όνομα που καταχωρίσατε

Το πλήρες παράθυρο κώδικα θα πρέπει τώρα να έχει ως εξής

  • Κλείστε το παράθυρο κώδικα
  • Κάντε δεξί κλικ στο κουμπί 1 και επιλέξτε επεξεργασία κειμένου
  • Εισαγάγετε Γεια σας
  • Κάντε κλικ στο Say Hello
  • Θα λάβετε το ακόλουθο πλαίσιο εισαγωγής
  • Εισαγάγετε το όνομά σας, δηλαδή Ιορδανία
  • Θα λάβετε το ακόλουθο πλαίσιο μηνύματος

Συγχαρητήρια, μόλις δημιουργήσατε το πρώτο σας πρόγραμμα VBA στο Excel

Βήμα προς βήμα παράδειγμα δημιουργίας μιας απλής αριθμομηχανής EMI στο Excel

Σε αυτήν την άσκηση φροντιστηρίου, πρόκειται να δημιουργήσουμε ένα απλό πρόγραμμα που υπολογίζει το EMI. Το EMI είναι το αρκτικόλεξο για Equated Monthly Installment. Είναι το μηνιαίο ποσό που αποπληρώνετε όταν παίρνετε δάνειο. Η παρακάτω εικόνα δείχνει τον τύπο για τον υπολογισμό του EMI.

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

Η συνάρτηση PMT λειτουργεί ως εξής

=PMT(rate,nper,pv)

ΕΔΩ,

  • "rate" αυτή είναι η μηνιαία τιμή. Είναι το επιτόκιο διαιρούμενο με τον αριθμό πληρωμών ανά έτος
  • "nper" είναι ο συνολικός αριθμός πληρωμών. Είναι ο όρος δανείου πολλαπλασιασμένος με τον αριθμό πληρωμών ανά έτος
  • παρούσα τιμή "pv" . Είναι το πραγματικό ποσό δανείου

Δημιουργήστε το GUI χρησιμοποιώντας κελιά excel όπως φαίνεται παρακάτω

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

Δώστε το κουμπί μακροεντολής όνομα btnCalculateEMI_Click

Κάντε κλικ στο κουμπί επεξεργασίας

Εισαγάγετε τον ακόλουθο κωδικό

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi

ΕΔΩ,

  • "Dim Month_rate As Single,…" Dim είναι η λέξη-κλειδί που χρησιμοποιείται για τον καθορισμό μεταβλητών στο VBA, το Month_rate είναι το όνομα της μεταβλητής, το Single είναι ο τύπος δεδομένων που σημαίνει ότι η μεταβλητή θα δέχεται αριθμό.
  • "Month_rate = Range (" B6 "). Value / Range (" B5 "). Value" Range είναι η συνάρτηση που χρησιμοποιείται για την πρόσβαση σε κελιά excel από το VBA, Range ("B6"). Η τιμή αναφέρεται στην τιμή στο B6
  • "WorksheetFunction.Pmt (…)" WorksheetFunction είναι η λειτουργία που χρησιμοποιείται για πρόσβαση σε όλες τις λειτουργίες του excel

Η παρακάτω εικόνα δείχνει τον πλήρη πηγαίο κώδικα

  • Κάντε κλικ στην αποθήκευση και κλείστε το παράθυρο κώδικα
  • Δοκιμάστε το πρόγραμμά σας όπως φαίνεται στην κινούμενη εικόνα παρακάτω

Παράδειγμα VBA Excel

Βήμα 1) Στην καρτέλα Προγραμματιστής από το κύριο μενού, κάντε κλικ στο εικονίδιο "Visual Basic", θα ανοίξει το πρόγραμμα επεξεργασίας VBA.

Βήμα 2) Θα ανοίξει ένα πρόγραμμα επεξεργασίας VBA, από όπου μπορείτε να επιλέξετε το φύλλο Excel όπου θέλετε να εκτελέσετε τον κώδικα. Για να ανοίξετε το πρόγραμμα επεξεργασίας VBA κάντε διπλό κλικ στο φύλλο εργασίας.

Θα ανοίξει ένα πρόγραμμα επεξεργασίας VBA στη δεξιά πλευρά του φακέλου. Θα εμφανίζεται σαν ένα κενό διάστημα.

Βήμα 3) Σε αυτό το βήμα θα δούμε το πρόγραμμα VBA. Για να διαβάσετε και να εμφανίσετε το πρόγραμμά μας χρειαζόμαστε ένα αντικείμενο. Σε VBA το αντικείμενο ή το μέσο σε ένα MsgBox.

  • Πρώτα, γράψτε "Sub" και μετά το "όνομα προγράμματος" (Guru99)
  • Γράψτε οτιδήποτε θέλετε να εμφανιστεί στο MsgBox (το guru99-η εκμάθηση είναι διασκεδαστική)
  • Τερματίστε το πρόγραμμα με End Sub

Βήμα 4) Στο επόμενο βήμα πρέπει να εκτελέσετε αυτόν τον κωδικό κάνοντας κλικ στο πράσινο κουμπί εκτέλεσης πάνω από το μενού του προγράμματος επεξεργασίας.

Βήμα 5) Όταν εκτελείτε τον κώδικα, θα εμφανιστεί ένα άλλο παράθυρο. Εδώ πρέπει να επιλέξετε το φύλλο στο οποίο θέλετε να εμφανιστεί το πρόγραμμα και να κάνετε κλικ στο κουμπί "Εκτέλεση"

Βήμα 6) Όταν κάνετε κλικ στο κουμπί Εκτέλεση, το πρόγραμμα θα εκτελεστεί. Θα εμφανίσει το μήνυμα στο MsgBox.

Κάντε λήψη του παραπάνω κώδικα του Excel

Περίληψη

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