Μερικές φορές, η καλύτερη διαδρομή για την εισαγωγή κώδικα για το Excel 2016 είναι η πιο άμεση. Η απευθείας εισαγωγή κωδικού VBA περιλαμβάνει … λοιπόν, την απευθείας εισαγωγή του κώδικα. Με άλλα λόγια, πληκτρολογείτε τον κωδικό χρησιμοποιώντας το πληκτρολόγιό σας. Η εισαγωγή και η επεξεργασία κειμένου σε μια ενότητα VBA λειτουργεί όπως θα περίμενε κανείς. Μπορείτε να επιλέξετε, να αντιγράψετε, να αποκόψετε, να επικολλήσετε και να κάνετε άλλα πράγματα στο κείμενο.
Χρησιμοποιήστε το πλήκτρο Tab για να κάνετε εσοχή μερικές από τις γραμμές για να κάνετε τον κώδικά σας πιο ευανάγνωστο. Η εσοχή δεν είναι απαραίτητη, αλλά είναι μια καλή συνήθεια να αποκτήσετε.
Μια μόνο γραμμή κώδικα VBA μπορεί να είναι όσο χρειάζεται. Ωστόσο, μπορεί να θέλετε να χρησιμοποιήσετε τους χαρακτήρες συνέχισης γραμμής για να χωρίσετε μεγάλες γραμμές κώδικα. Για να συνεχίσετε μια γραμμή κώδικα (γνωστή και ως δήλωση) από τη μια γραμμή στην επόμενη, τερματίστε την πρώτη γραμμή με ένα κενό που ακολουθείται από μια υπογράμμιση (_). Στη συνέχεια, συνεχίστε τη δήλωση στην επόμενη γραμμή. Και μην ξεχνάτε τον χώρο. Ένας χαρακτήρας υπογράμμισης του οποίου δεν προηγείται κενό δεν θα κάνει τη δουλειά.
Ακολουθεί ένα παράδειγμα μιας μεμονωμένης δήλωσης που χωρίζεται σε τρεις γραμμές:
Selection.Sort Key1:=Range(“A1”), _
Παραγγελία1:=xlΑύξουσα, Κεφαλίδα:=xlΜαντέψτε, _
Προσανατολισμός:=xlTopToBottom
Αυτή η δήλωση θα λειτουργούσε ακριβώς με τον ίδιο τρόπο εάν εισαχθεί σε μία γραμμή (χωρίς χαρακτήρες συνέχειας γραμμής). Παρατηρήστε ότι η δεύτερη και η τρίτη γραμμή αυτής της δήλωσης έχουν εσοχές. Η εσοχή είναι προαιρετική, αλλά βοηθά να διευκρινιστεί το γεγονός ότι αυτές οι γραμμές δεν είναι ξεχωριστές δηλώσεις.
Οι μηχανικοί με λευκή επένδυση που σχεδίασαν το VBE περίμεναν ότι οι άνθρωποι θα έκαναν λάθη. Επομένως, το VBE έχει πολλαπλά επίπεδα αναίρεσης και επανάληψης. Εάν διαγράψατε μια δήλωση που δεν θα έπρεπε να έχετε, κάντε κλικ στο κουμπί Αναίρεση στη γραμμή εργαλείων (ή πατήστε Ctrl+Z) μέχρι να εμφανιστεί ξανά η δήλωση. Μετά την αναίρεση, μπορείτε να χρησιμοποιήσετε το κουμπί Επανάληψη για να εκτελέσετε τις αλλαγές που αναιρέσατε.
Είστε έτοιμοι να εισαγάγετε κάποιο πραγματικό κωδικό; Δοκιμάστε τα παρακάτω βήματα:
Δημιουργήστε ένα νέο βιβλίο εργασίας στο Excel.
Πατήστε Alt+F11 για να ενεργοποιήσετε το VBE.
Κάντε κλικ στο όνομα του νέου βιβλίου εργασίας στο παράθυρο Project.
Επιλέξτε Insert → Module για να εισαγάγετε μια μονάδα VBA στο έργο.
Πληκτρολογήστε τον ακόλουθο κώδικα στη μονάδα:
Sub GuessName()
Msg = "Είναι το όνομά σας " & Application.UserName & ";"
Ans = MsgBox(Msg, vbYesNo)
Αν Ans = vbNo Τότε MsgBox "Ω, δεν πειράζει."
Αν Ans = vbYes Τότε MsgBox "Πρέπει να είμαι ψυχικός!"
End Sub
Τοποθετήστε τον κέρσορα οπουδήποτε μέσα στο κείμενο που πληκτρολογήσατε και πατήστε F5 για να εκτελέσετε τη διαδικασία.
Το F5 είναι μια συντόμευση για την εντολή Εκτέλεση → Εκτέλεση Sub/UserForm. Εάν εισαγάγατε σωστά τον κώδικα, το Excel εκτελεί τη διαδικασία και μπορείτε να απαντήσετε στο απλό παράθυρο διαλόγου. Θυμηθείτε, το κείμενο στο πλαίσιο διαλόγου θα είναι διαφορετικό.
Η διαδικασία GuessName εμφανίζει αυτό το παράθυρο διαλόγου.
Όταν εισάγετε τον κωδικό που αναφέρεται στο Βήμα 5, μπορεί να παρατηρήσετε ότι το VBE κάνει ορισμένες προσαρμογές στο κείμενο που εισάγετε. Για παράδειγμα, αφού πληκτρολογήσετε τη δήλωση Sub, το VBE εισάγει αυτόματα τη δήλωση End Sub. Και αν παραλείψετε το διάστημα πριν ή μετά από ένα σύμβολο ίσου, το VBE εισάγει το διάστημα για εσάς. Επίσης, το VBE αλλάζει το χρώμα και τη χρήση κεφαλαίων σε κάποιο κείμενο. Όλα αυτά είναι απολύτως φυσιολογικά. Είναι απλώς ο τρόπος του VBE να διατηρεί τα πράγματα τακτοποιημένα και ευανάγνωστα.
Εάν ακολουθήσατε τα προηγούμενα βήματα, μόλις γράψατε μια διαδικασία VBA Sub, γνωστή και ως μακροεντολή. Όταν πατάτε το F5, το Excel εκτελεί τον κώδικα και ακολουθεί τις οδηγίες. Με άλλα λόγια, το Excel αξιολογεί κάθε δήλωση και κάνει αυτό που του είπατε να κάνει. (Μην αφήσετε αυτή τη νέα δύναμη να πάει στο μυαλό σας.) Μπορείτε να εκτελέσετε αυτήν τη μακροεντολή πολλές φορές — αν και τείνει να χάνει την ελκυστικότητά της μετά από μερικές δεκάδες φορές.
Για την ιστορία, αυτή η απλή μακροεντολή χρησιμοποιεί τις ακόλουθες έννοιες:
-
Καθορισμός υποδιαδικασίας (η πρώτη γραμμή)
-
Εκχώρηση τιμών σε μεταβλητές (Msg και Ans)
-
Συνένωση (σύνδεση) μιας συμβολοσειράς (χρησιμοποιώντας τον τελεστή &)
-
Χρήση ενσωματωμένης συνάρτησης VBA (MsgBox)
-
Χρήση ενσωματωμένων σταθερών VBA (vbYesNo, vbNo και vbYes)
-
Χρησιμοποιώντας μια κατασκευή If-Then (δύο φορές)
-
Τερματισμός υποδιαδικασίας (η τελευταία γραμμή)
Δεν είναι κακό για έναν αρχάριο, ε;