Εδώ, θα βρείτε μερικές συμβουλές που πρέπει να λάβετε υπόψη όταν ξεκινήσετε να αναπτύσσετε τις δικές σας λύσεις VBA στο Excel. Η τήρηση αυτών των οδηγιών δεν είναι πανάκεια για να σας κρατήσει μακριά από προβλήματα (προγραμματισμού), αλλά η τήρησή τους μπορεί να σας βοηθήσει να αποφύγετε παγίδες στις οποίες έχουν σκοντάψει άλλοι.
Δηλώστε όλες τις μεταβλητές
Πόσο βολικό είναι: Απλώς ξεκινήστε να πληκτρολογείτε τον κωδικό VBA χωρίς να χρειάζεται να περάσετε από την κουραστική αγγαρεία της δήλωσης κάθε μεταβλητής που θέλετε να χρησιμοποιήσετε. Αν και το Excel σάς επιτρέπει να χρησιμοποιείτε μη δηλωμένες μεταβλητές, αυτό σημαίνει απλώς πρόβλημα.
Η πρώτη εντολή του προγραμματισμού VBA θα πρέπει να είναι η εξής:
Θα δηλώσετε κάθε μεταβλητή.
Εάν δεν έχετε αυτοπειθαρχία, προσθέστε μια δήλωση "Ρητή επιλογή" στην κορυφή των ενοτήτων σας. Με αυτόν τον τρόπο, ο κώδικάς σας δεν θα εκτελείται καν εάν περιλαμβάνει μία ή περισσότερες μη δηλωμένες μεταβλητές. Η μη δήλωση όλων των μεταβλητών έχει μόνο ένα πλεονέκτημα: Εξοικονομείτε λίγα δευτερόλεπτα. Αλλά η χρήση μη δηλωμένων μεταβλητών θα σας στοιχειώσει τελικά.
Μην συγχέετε τους κωδικούς πρόσβασης με την ασφάλεια
Απλώς προστατέψτε το έργο VBA με κωδικό πρόσβασης και είστε ασφαλείς, σωστά; Λανθασμένος.
Η χρήση κωδικού πρόσβασης VBA μπορεί να εμποδίσει τους περισσότερους απλούς χρήστες να βλέπουν τον κώδικά σας. Αλλά αν κάποιος θέλει πραγματικά να το ελέγξει, θα βρει πώς να σπάσει τον κωδικό πρόσβασης.
Συμπέρασμα? Εάν πρέπει οπωσδήποτε να κρατήσετε τον κώδικά σας μυστικό, το Excel δεν είναι η καλύτερη επιλογή για μια πλατφόρμα ανάπτυξης.
Καθαρίστε τον κωδικό σας
Αφού η εφαρμογή σας λειτουργεί ικανοποιητικά, θα πρέπει να την καθαρίσετε. Οι εργασίες συντήρησης κώδικα περιλαμβάνουν τα ακόλουθα:
-
Βεβαιωθείτε ότι κάθε μεταβλητή έχει δηλωθεί.
-
Βεβαιωθείτε ότι όλες οι γραμμές έχουν εσοχές σωστά, ώστε η δομή του κώδικα να είναι εμφανής.
-
Καταργήστε τυχόν βοηθήματα εντοπισμού σφαλμάτων, όπως δηλώσεις MsgBox των δηλώσεων Debug.Print.
-
Μετονομάστε τυχόν μεταβλητές με κακή ονομασία. Για παράδειγμα, εάν χρησιμοποιείτε τη μεταβλητή MyVariable, υπάρχει πολύ καλή πιθανότητα να κάνετε το όνομα της μεταβλητής πιο περιγραφικό. Θα ευχαριστήσεις τον εαυτό σου αργότερα.
-
Οι ενότητες σας έχουν πιθανώς μερικές «δοκιμαστικές» διαδικασίες που γράψατε ενώ προσπαθείτε να καταλάβετε κάτι. Εξυπηρέτησαν τον σκοπό τους, οπότε διαγράψτε τα.
-
Προσθέστε σχόλια για να καταλάβετε πώς λειτουργεί ο κώδικας όταν τον επισκεφτείτε ξανά σε έξι μήνες από τώρα.
-
Βεβαιωθείτε ότι όλα είναι γραμμένα σωστά — ειδικά το κείμενο στις Φόρμες χρήστη και στα πλαίσια μηνυμάτων.
-
Ελέγξτε για περιττό κωδικό. Εάν έχετε δύο ή περισσότερες διαδικασίες που έχουν πανομοιότυπα μπλοκ κώδικα, σκεφτείτε να δημιουργήσετε μια νέα διαδικασία που άλλες διαδικασίες μπορούν να καλέσουν.
Μην βάζετε τα πάντα σε μια διαδικασία
Θέλετε να φτιάξετε ένα ακατανόητο πρόγραμμα; Ένας αποτελεσματικός τρόπος για να το πετύχετε αυτό είναι να βάλετε όλο τον κώδικά σας σε μια ωραία μεγάλη διαδικασία. Εάν ξαναεπισκεφτείτε αυτό το πρόγραμμα ξανά για να κάνετε αλλαγές, είναι βέβαιο ότι θα κάνετε λάθη και θα παρουσιάσετε μερικά όμορφα σφάλματα.
Βλέπεις το πρόβλημα; Η λύση είναι αρθρωτός κώδικας. Χωρίστε το πρόγραμμά σας σε μικρότερα κομμάτια, με κάθε κομμάτι να έχει σχεδιαστεί για να εκτελεί μια συγκεκριμένη εργασία. Αφού αποκτήσετε αυτή τη συνήθεια, θα διαπιστώσετε ότι η σύνταξη κώδικα χωρίς σφάλματα είναι πιο εύκολη από ποτέ.
Σκεφτείτε άλλο λογισμικό
Το Excel είναι ένα εκπληκτικά ευέλικτο πρόγραμμα, αλλά δεν είναι κατάλληλο για όλα. Όταν είστε έτοιμοι να αναλάβετε ένα νέο έργο, αφιερώστε λίγο χρόνο για να εξετάσετε όλες τις επιλογές σας. Για να παραφράσουμε ένα παλιό ρητό, «Όταν το μόνο που ξέρεις είναι το Excel VBA, όλα μοιάζουν με μακροεντολή VBA».
Μην υποθέσετε ότι όλοι ενεργοποιούν τις μακροεντολές
Όπως γνωρίζετε, το Excel σάς επιτρέπει να ανοίξετε ένα βιβλίο εργασίας με τις μακροεντολές του απενεργοποιημένες. Στην πραγματικότητα, είναι σχεδόν σαν οι σχεδιαστές των πρόσφατων εκδόσεων του Excel να θέλουν οι χρήστες να απενεργοποιούν τις μακροεντολές.
Η ενεργοποίηση μακροεντολών όταν ανοίγετε ένα βιβλίο εργασίας από άγνωστη πηγή δεν είναι καλή ιδέα, φυσικά. Πρέπει λοιπόν να γνωρίζετε τους χρήστες σας. Σε ορισμένα εταιρικά περιβάλλοντα, όλες οι μακροεντολές του Microsoft Office είναι απενεργοποιημένες και ο χρήστης δεν έχει επιλογή σε αυτό το θέμα.
Ένα πράγμα που πρέπει να εξετάσετε είναι να προσθέσετε μια ψηφιακή υπογραφή στα βιβλία εργασίας που διανέμετε σε άλλους. Με αυτόν τον τρόπο, ο χρήστης μπορεί να είναι σίγουρος ότι τα βιβλία εργασίας προέρχονται πραγματικά από εσάς και ότι δεν έχουν τροποποιηθεί. Συμβουλευτείτε το σύστημα Βοήθειας για περισσότερες πληροφορίες σχετικά με τις ψηφιακές υπογραφές.
Αποκτήστε τη συνήθεια να πειραματίζεστε
Η ρύθμιση απλών πειραμάτων είναι σχεδόν πάντα πολύ πιο αποτελεσματική από την ενσωμάτωση μιας νέας ιδέας στον υπάρχοντα κώδικά σας χωρίς να κατανοήσετε τι προσφέρουν αυτά τα πειράματα.
Μην υποθέτετε ότι ο κώδικάς σας θα λειτουργεί με άλλες εκδόσεις του Excel
Επί του παρόντος, τουλάχιστον πέντε εκδόσεις του Excel χρησιμοποιούνται συνήθως σε όλο τον κόσμο. Όταν δημιουργείτε μια εφαρμογή Excel, δεν έχετε καμία απολύτως εγγύηση ότι θα λειτουργήσει άψογα σε παλαιότερες εκδόσεις ή σε νεότερες εκδόσεις. Σε ορισμένες περιπτώσεις, οι ασυμβατότητες θα είναι εμφανείς. Αλλά θα διαπιστώσετε επίσης ότι τα πράγματα που θα έπρεπε να λειτουργούν με μια προηγούμενη έκδοση δεν λειτουργούν.
Το Excel περιλαμβάνει έναν εύχρηστο έλεγχο συμβατότητας (επιλέξτε Αρχείο → Πληροφορίες → Έλεγχος για ζητήματα → Έλεγχος συμβατότητας), αλλά ελέγχει μόνο το βιβλίο εργασίας και αγνοεί τον κώδικα VBA. Ο μόνος τρόπος για να βεβαιωθείτε ότι η εφαρμογή σας λειτουργεί με άλλες εκδόσεις από αυτήν με την οποία τη δημιουργήσατε είναι να τη δοκιμάσετε σε αυτές τις εκδόσεις.
Έχετε υπόψη σας τους χρήστες σας
Εάν αναπτύσσετε εφαρμογές για άλλους, η δουλειά σας είναι πιο δύσκολη γιατί δεν μπορείτε να κάνετε τους ίδιους τύπους υποθέσεων όπως όταν αναπτύσσετε για τον εαυτό σας.
Για παράδειγμα, μπορείτε να είστε πιο χαλαροί με τον χειρισμό σφαλμάτων εάν είστε ο μόνος χρήστης. Εάν εμφανιστεί ένα σφάλμα, θα έχετε μια πολύ καλή ιδέα πού να ψάξετε για να το διορθώσετε. Εάν κάποιος άλλος χρησιμοποιεί την εφαρμογή σας και εμφανιστεί το ίδιο σφάλμα, δεν θα είναι τυχερός. Και όταν εργάζεστε με τη δική σας εφαρμογή, συνήθως μπορείτε να τα βγάλετε πέρα χωρίς οδηγίες.
Πρέπει να κατανοήσετε το επίπεδο δεξιοτήτων όσων θα χρησιμοποιήσουν τα βιβλία εργασίας σας και να προσπαθήσετε να προβλέψετε προβλήματα που μπορεί να έχουν. Προσπαθήστε να φανταστείτε τον εαυτό σας ως νέο χρήστη της εφαρμογής σας και εντοπίστε όλους τους τομείς που μπορεί να προκαλέσουν σύγχυση ή προβλήματα.
Μην ξεχνάτε τα αντίγραφα ασφαλείας
Τίποτα δεν είναι πιο αποθαρρυντικό από τη συντριβή του σκληρού δίσκου χωρίς αντίγραφο ασφαλείας. Εάν εργάζεστε σε ένα σημαντικό έργο, κάντε στον εαυτό σας μια απλή ερώτηση: "Αν ο υπολογιστής μου πεθάνει απόψε, τι θα έχω χάσει;" Εάν η απάντησή σας είναι περισσότερες από μερικές ώρες εργασίας, πρέπει να ρίξετε μια προσεκτική ματιά στη διαδικασία δημιουργίας αντιγράφων ασφαλείας των δεδομένων σας. Έχετε μια διαδικασία δημιουργίας αντιγράφων ασφαλείας δεδομένων, σωστά;