Πρακτικά παραδείγματα προγραμμάτων σε VBA. Παραδείγματα μακροεντολών στο Excel. Μήνυμα διαλόγου VBA msgBox

Λίγοι γνωρίζουν ότι η πρώτη έκδοση του δημοφιλούς προϊόντος Microsoft Excel εμφανίστηκε το 1985. Έκτοτε, έχει υποστεί αρκετές τροποποιήσεις και είναι σε ζήτηση από εκατομμύρια χρήστες σε όλο τον κόσμο. Ταυτόχρονα, πολλοί άνθρωποι εργάζονται μόνο με ένα μικρό κλάσμα των δυνατοτήτων αυτού του επεξεργαστή υπολογιστικών φύλλων και δεν συνειδητοποιούν καν πώς η δυνατότητα προγραμματισμού στο Excel θα μπορούσε να κάνει τη ζωή τους ευκολότερη.

Τι είναι το VBA

Ο προγραμματισμός στο Excel πραγματοποιείται με τη χρήση της γλώσσας προγραμματισμού Visual Basic for Application, η οποία ήταν αρχικά ενσωματωμένη στον πιο διάσημο επεξεργαστή υπολογιστικών φύλλων της Microsoft.

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

Το μειονέκτημα του προγράμματος είναι προβλήματα που σχετίζονται με τη συμβατότητα διαφορετικών εκδόσεων. Προκύπτουν επειδή ο κώδικας προγράμματος VBA αποκτά πρόσβαση σε λειτουργίες που υπάρχουν στη νέα έκδοση του προϊόντος αλλά όχι στην παλιά έκδοση. Επίσης, τα μειονεκτήματα περιλαμβάνουν το υπερβολικά υψηλό άνοιγμα του κώδικα για αλλαγές από έναν ξένο. Ωστόσο, το Microsoft Office καθώς και το IBM Lotus Symphony επιτρέπουν στο χρήστη να κρυπτογραφήσει τον αρχικό κώδικα και να ορίσει έναν κωδικό πρόσβασης για να τον δει.

Αντικείμενα, συλλογές, ιδιότητες και μέθοδοι

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

Το κύριο είναι το Application, το οποίο αντιστοιχεί στο ίδιο το πρόγραμμα Excel. Στη συνέχεια, έρχονται τα Τετράδια εργασίας, τα Φύλλα εργασίας και το εύρος. Για παράδειγμα, για να αποκτήσετε πρόσβαση στο κελί A1 σε ένα συγκεκριμένο φύλλο εργασίας, πρέπει να καθορίσετε μια διαδρομή που λαμβάνει υπόψη την ιεραρχία.

Όσον αφορά την έννοια της «συλλογής», αυτή είναι μια ομάδα αντικειμένων της ίδιας κλάσης, η οποία στην καταχώρηση έχει τη μορφή ChartObjects. Τα επιμέρους στοιχεία του είναι επίσης αντικείμενα.

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

Οι μέθοδοι είναι εντολές που υποδεικνύουν τι πρέπει να γίνει. Όταν γράφετε κώδικα σε VBA, πρέπει να διαχωρίζονται από το αντικείμενο με τελεία. Για παράδειγμα, όπως θα φανεί αργότερα, πολύ συχνά κατά τον προγραμματισμό στο Excel, χρησιμοποιείται η εντολή Cells(1,1).Select. Σημαίνει ότι πρέπει να επιλέξετε ένα κελί με συντεταγμένες

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

Πώς να αρχίσω

Στη συνέχεια, πρέπει να μεταβείτε στην εφαρμογή VB, για την οποία πρέπει απλώς να χρησιμοποιήσετε τον συνδυασμό πλήκτρων "Alt" και "F11". Περαιτέρω:

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

Μοιάζει με αυτό:

Υποπρόγραμμα()

«Ο κωδικός μας

Σημειώστε ότι η γραμμή "Ο κωδικός μας" θα τονιστεί με διαφορετικό χρώμα (πράσινο).

Τώρα μπορείτε να γράψετε οποιονδήποτε κώδικα και να δημιουργήσετε ένα νέο εργαλείο για τον εαυτό σας στο VBA Excel (δείτε παραδείγματα προγραμμάτων παρακάτω). Φυσικά, θα είναι πολύ πιο εύκολο για όσους γνωρίζουν τα βασικά της Visual Basic. Ωστόσο, ακόμη και όσοι δεν τα έχουν, μπορούν να το συνηθίσουν αρκετά γρήγορα αν το επιθυμούν.

Μακροεντολές στο Excel

Αυτό το όνομα κρύβει προγράμματα γραμμένα στη Visual Basic για Εφαρμογή. Έτσι, προγραμματισμός στο Excel σημαίνει δημιουργία μακροεντολών με τον απαραίτητο κώδικα. Χάρη σε αυτή τη δυνατότητα, ο επεξεργαστής υπολογιστικών φύλλων της Microsoft αναπτύσσεται μόνος του, προσαρμόζοντας τις απαιτήσεις ενός συγκεκριμένου χρήστη. Έχοντας καταλάβει πώς να δημιουργήσετε λειτουργικές μονάδες για τη σύνταξη μακροεντολών, μπορείτε να αρχίσετε να εξετάζετε συγκεκριμένα παραδείγματα προγραμμάτων VBA Excel. Είναι καλύτερο να ξεκινήσετε με τους πιο βασικούς κωδικούς.

Παράδειγμα 1

Εργασία: γράψτε ένα πρόγραμμα που θα αντιγράψει την τιμή των περιεχομένων ενός κελιού και στη συνέχεια θα το γράψει σε ένα άλλο.

Για αυτό:

  • ανοίξτε την καρτέλα "Προβολή".
  • μεταβείτε στο εικονίδιο "Μακροεντολές".
  • κάντε κλικ στο "Εγγραφή μακροεντολής"
  • συμπληρώστε τη φόρμα που ανοίγει.

Για απλότητα, αφήστε το "Macro1" στο πεδίο "Όνομα Macro" και εισαγάγετε, για παράδειγμα, hh στο πεδίο "Συντόμευση πληκτρολογίου" (αυτό σημαίνει ότι μπορείτε να ξεκινήσετε το πρόγραμμα με τη γρήγορη εντολή "Ctrl+h"). Πατήστε Enter.

Τώρα που έχει ήδη ξεκινήσει η εγγραφή μακροεντολών, τα περιεχόμενα ενός κελιού αντιγράφονται σε άλλο. Επιστρέψτε στο αρχικό εικονίδιο. Κάντε κλικ στο «Εγγραφή μακροεντολής». Αυτή η ενέργεια σημαίνει το τέλος του προγράμματος.

  • επιστρέψτε στη γραμμή "Μακροεντολές".
  • επιλέξτε "Macro 1" από τη λίστα.
  • κάντε κλικ στο «Εκτέλεση» (η ίδια ενέργεια ξεκινά με την εκκίνηση του συνδυασμού πλήκτρων «Ctrl+hh»).

Ως αποτέλεσμα, εμφανίζεται η ενέργεια που εκτελέστηκε κατά την εγγραφή της μακροεντολής.

Είναι λογικό να δούμε πώς μοιάζει ο κώδικας. Για να το κάνετε αυτό, επιστρέψτε στη γραμμή "Μακροεντολές" και κάντε κλικ στο "Αλλαγή" ή "Σύνδεση". Ως αποτέλεσμα, βρίσκονται στο περιβάλλον VBA. Στην πραγματικότητα, ο ίδιος ο κώδικας μακροεντολής βρίσκεται ανάμεσα στις γραμμές Sub Macro1() και End Sub.

Εάν η αντιγραφή έγινε, για παράδειγμα, από το κελί A1 στο κελί C1, τότε μία από τις γραμμές κώδικα θα μοιάζει με το εύρος ("C1"). Επιλέξτε. Μεταφρασμένο, μοιάζει με "Range("C1").Select", με άλλα λόγια, πηγαίνει στο VBA Excel, στο κελί C1.

Το ενεργό μέρος του κώδικα συμπληρώνεται με την εντολή ActiveSheet.Paste. Σημαίνει εγγραφή των περιεχομένων του επιλεγμένου κελιού (σε αυτήν την περίπτωση A1) στο επιλεγμένο κελί C1.

Παράδειγμα 2

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

Οι βρόχοι VBA σάς βοηθούν να δημιουργήσετε διάφορες μακροεντολές. Ας υποθέσουμε ότι έχουμε συνάρτηση y=x + x 2 + 3x 3 - cos(x). Πρέπει να δημιουργήσετε μια μακροεντολή για να λάβετε το γράφημά της. Αυτό μπορεί να γίνει μόνο χρησιμοποιώντας βρόχους VBA.

Οι αρχικές και τελικές τιμές του ορίσματος συνάρτησης λαμβάνονται ως x1=0 και x2=10. Επιπλέον, πρέπει να εισαγάγετε μια σταθερά - την τιμή για το βήμα αλλαγής του ορίσματος και την αρχική τιμή για τον μετρητή.

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

Υποπρόγραμμα()

βήμα = 0,1

Κάνετε ενώ x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Κελιά(i, 1).Τιμή = x1 (η τιμή x1 γράφεται στο κελί με συντεταγμένες (i,1))

Κελιά(i, 2).Τιμή = y (η τιμή y γράφεται στο κελί με συντεταγμένες (i,2))

i = i + 1 (ο μετρητής είναι σε ισχύ).

x1 = x1 + shag (το όρισμα αλλάζει κατά την τιμή του βήματος).

End Sub.

Ως αποτέλεσμα της εκτέλεσης αυτής της μακροεντολής στο Excel, έχουμε δύο στήλες, η πρώτη από τις οποίες περιέχει τις τιμές για το x και η δεύτερη για το y.

Στη συνέχεια, δημιουργείται ένα γράφημα χρησιμοποιώντας τα με τυπικό τρόπο για το Excel.

Παράδειγμα 3

Για την υλοποίηση βρόχων στο VBA Excel 2010, όπως και σε άλλες εκδόσεις, μαζί με την ήδη δοθείσα κατασκευή Do while, χρησιμοποιείται το For.

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

Πρώτα πρέπει να δημιουργήσετε μια μακροεντολή όπως περιγράφεται παραπάνω. Στη συνέχεια σημειώνουμε τον ίδιο τον κώδικα. Υποθέτουμε ότι μας ενδιαφέρουν οι τιμές για 10 κελιά. Ο κώδικας μοιάζει με αυτό.

Για i = 1 έως 10 Επόμενο

Η εντολή μεταφράζεται στην «ανθρώπινη» γλώσσα ως «Επανάληψη από 1 έως 10 σε βήματα του ενός».

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

Για i = 1 έως 10 βήμα 1 Επόμενο.

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

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

Συνολικά ο κώδικας θα μοιάζει με αυτό:

Υποπρόγραμμα()

Για i = 1 έως 10 Βήμα 1 (μπορείτε απλά να γράψετε For i = 1 έως 10)

Κελιά(i, 1).Τιμή = i ^ 2 (δηλαδή η τιμή του τετραγώνου i γράφεται στο κελί (i,1)

Επόμενο (κατά μια έννοια παίζει το ρόλο του μετρητή και σημαίνει μια άλλη έναρξη του βρόχου)

End Sub.

Εάν όλα γίνονται σωστά, συμπεριλαμβανομένης της εγγραφής και της εκτέλεσης της μακροεντολής (δείτε τις οδηγίες παραπάνω), τότε όταν την καλείτε, κάθε φορά θα λαμβάνετε μια στήλη του καθορισμένου μεγέθους (σε αυτήν την περίπτωση, που αποτελείται από 10 κελιά).

Παράδειγμα 4

Στην καθημερινή ζωή, υπάρχει συχνά η ανάγκη να ληφθεί η μία ή η άλλη απόφαση ανάλογα με κάποια κατάσταση. Δεν μπορείτε να κάνετε χωρίς αυτά στο VBA Excel. Παραδείγματα προγραμμάτων όπου η περαιτέρω πορεία εκτέλεσης του αλγορίθμου επιλέγεται και δεν προκαθορίζεται αρχικά, χρησιμοποιούν τις περισσότερες φορές την κατασκευή Αν ... Τότε (για σύνθετες περιπτώσεις) Εάν ...Τότε ...ΤΕΛΟΣ Εάν.

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

1 εάν το επιχείρημα είναι θετικό.

0 εάν το όρισμα είναι μηδενικό.

-1 εάν το όρισμα είναι αρνητικό.

Η δημιουργία μιας τέτοιας μακροεντολής για το Excel ξεκινά με τον τυπικό τρόπο, μέσω της χρήσης των πλήκτρων πρόσβασης Alt και F11. Στη συνέχεια γράφεται ο παρακάτω κώδικας:

Υποπρόγραμμα()

x= Cells(1, 1).Value (αυτή η εντολή εκχωρεί x την τιμή των περιεχομένων του κελιού στις συντεταγμένες (1, 1))

Αν x>0 Τότε Κελιά(1, 1).Τιμή = 1

Αν x=0 Τότε Κελιά(1, 1).Τιμή = 0

Αν x<0 Then Cells(1, 1).Value = -1

End Sub.

Το μόνο που μένει είναι να εκτελέσετε τη μακροεντολή και να λάβετε την απαιτούμενη τιμή για το όρισμα στο Excel.

Λειτουργίες VBA

Όπως ίσως έχετε ήδη παρατηρήσει, ο προγραμματισμός στον πιο διάσημο επεξεργαστή υπολογιστικών φύλλων της Microsoft δεν είναι τόσο δύσκολος. Ειδικά αν μάθετε πώς να χρησιμοποιείτε τις λειτουργίες VBA. Συνολικά, αυτή η γλώσσα προγραμματισμού, που δημιουργήθηκε ειδικά για τη σύνταξη εφαρμογών σε Excel και Word, έχει περίπου 160 λειτουργίες. Μπορούν να χωριστούν σε πολλές μεγάλες ομάδες. Αυτό:

  • Μαθηματικές συναρτήσεις. Εφαρμόζοντάς τα στο όρισμα, παίρνουν την τιμή του συνημιτόνου, του φυσικού λογάριθμου, του ακέραιου μέρους κ.λπ.
  • Οικονομικές λειτουργίες. Χάρη στη διαθεσιμότητά τους και χρησιμοποιώντας τον προγραμματισμό του Excel, μπορείτε να αποκτήσετε αποτελεσματικά εργαλεία για λογιστικούς και οικονομικούς υπολογισμούς.
  • Λειτουργίες επεξεργασίας συστοιχιών. Αυτά περιλαμβάνουν το Array, το IsArray. LBound; UBound.
  • Συναρτήσεις Excel VBA για συμβολοσειρά. Αυτή είναι μια αρκετά μεγάλη ομάδα. Αυτό περιλαμβάνει, για παράδειγμα, τις συναρτήσεις Space για τη δημιουργία μιας συμβολοσειράς με τον αριθμό των διαστημάτων ίσο με το όρισμα ακέραιου αριθμού ή Asc για τη μετατροπή χαρακτήρων σε κώδικα ANSI. Όλα χρησιμοποιούνται ευρέως και σας επιτρέπουν να εργάζεστε με σειρές στο Excel, δημιουργώντας εφαρμογές που διευκολύνουν πολύ την εργασία με αυτούς τους πίνακες.
  • Συναρτήσεις μετατροπής τύπου δεδομένων. Για παράδειγμα, το CVar επιστρέφει την τιμή του ορίσματος Expression μετατρέποντάς το στον τύπο δεδομένων Variant.
  • Λειτουργίες για εργασία με ημερομηνίες. Επεκτείνουν σημαντικά τις τυπικές. Έτσι, η συνάρτηση WeekdayName επιστρέφει το όνομα (πλήρη ή μερική) της ημέρας με τον αριθμό της. Ακόμα πιο χρήσιμο είναι το Timer. Δίνει τον αριθμό των δευτερολέπτων που έχουν περάσει από τα μεσάνυχτα σε ένα συγκεκριμένο σημείο της ημέρας.
  • Λειτουργίες για τη μετατροπή ενός αριθμητικού ορίσματος σε διαφορετικά συστήματα αριθμών. Για παράδειγμα, το Oct εξάγει αριθμούς σε οκταδικό.
  • Λειτουργίες μορφοποίησης. Το πιο σημαντικό από αυτά είναι το Format. Επιστρέφει μια τιμή Variant με μια παράσταση μορφοποιημένη σύμφωνα με τις οδηγίες που καθορίζονται στη δήλωση μορφής.
  • και τα λοιπά.

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

Παράδειγμα 5

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

Δίνεται ένα έντυπο έγγραφο που αναφέρει το πραγματικό επίπεδο του κόστους της επιχείρησης. Απαιτείται:

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

Ας εξετάσουμε μια από τις επιλογές λύσης.

Δημιουργήστε ένα πρότυπο

Όλες οι ενέργειες εκτελούνται σε ένα τυπικό φύλλο στο Excel. Τα δωρεάν κελιά δεσμεύονται για την εισαγωγή δεδομένων σχετικά με το όνομα της καταναλωτικής εταιρείας, το ύψος του κόστους, το επίπεδό τους και τον κύκλο εργασιών. Δεδομένου ότι ο αριθμός των εταιρειών (εταιρειών) για τις οποίες συντάσσεται η έκθεση δεν είναι σταθερός, τα κελιά για την εισαγωγή τιμών με βάση τα αποτελέσματα και το όνομα του ειδικού δεν δεσμεύονται εκ των προτέρων. Στο φύλλο εργασίας δίνεται νέο όνομα. Για παράδειγμα, "αναφορές".

Μεταβλητές

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

  • NN - αριθμός της τρέχουσας σειράς πίνακα.
  • TP και TF - προγραμματισμένος και πραγματικός εμπορικός κύκλος εργασιών.
  • SF και SP - πραγματικό και προγραμματισμένο ποσό κόστους.
  • IP και IF - προγραμματισμένο και πραγματικό επίπεδο κόστους.

Ας υποδηλώσουμε τη συσσώρευση του συνόλου για αυτήν τη στήλη χρησιμοποιώντας τα ίδια γράμματα, αλλά με το «πρόθεμα» Itog. Για παράδειγμα, το ItogTP - αναφέρεται στη στήλη του πίνακα με τίτλο "προγραμματισμένος κύκλος εργασιών".

Επίλυση προβλήματος με χρήση προγραμματισμού VBA

Χρησιμοποιώντας τους εισαγόμενους συμβολισμούς, λαμβάνουμε τύπους για αποκλίσεις. Εάν πρέπει να υπολογίσετε σε %, έχουμε (F - P) / P * 100, και συνολικά - (F - P).

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

Για τα πραγματικά και τα προβλεπόμενα σύνολα, λαμβάνονται χρησιμοποιώντας τους τύπους ItogP=ItogP + P και ItogF=ItogF+ F.

Για αποκλίσεις χρησιμοποιήστε = (ItogF - ItogP) / ItogP * 100 εάν ο υπολογισμός πραγματοποιείται ως ποσοστό και στην περίπτωση συνολικής τιμής - (ItogF - ItogP).

Τα αποτελέσματα γράφονται και πάλι αμέσως στα κατάλληλα κελιά, επομένως δεν χρειάζεται να τα εκχωρήσετε σε μεταβλητές.

Πριν εκτελέσετε το πρόγραμμα που δημιουργήσατε, πρέπει να αποθηκεύσετε το βιβλίο εργασίας, για παράδειγμα, με το όνομα "Report1.xls".

Το κουμπί "Δημιουργία πίνακα αναφοράς" χρειάζεται να πατηθεί μόνο μία φορά μετά την εισαγωγή των πληροφοριών κεφαλίδας. Υπάρχουν άλλοι κανόνες που πρέπει να γνωρίζετε. Συγκεκριμένα, πρέπει να κάνετε κλικ στο κουμπί «Προσθήκη σειράς» κάθε φορά μετά την εισαγωγή τιμών για κάθε τύπο δραστηριότητας στον πίνακα. Αφού εισαγάγετε όλα τα δεδομένα, πρέπει να κάνετε κλικ στο κουμπί "Τέλος" και στη συνέχεια να μεταβείτε στο παράθυρο του Excel.

Τώρα ξέρετε πώς να επιλύετε προβλήματα του Excel χρησιμοποιώντας μακροεντολές. Η δυνατότητα χρήσης vba excel (δείτε παραδείγματα προγραμμάτων παραπάνω) μπορεί επίσης να χρειαστεί για να εργαστείτε στο πιο δημοφιλές πρόγραμμα επεξεργασίας κειμένου αυτή τη στιγμή, το Word. Συγκεκριμένα, μπορείτε να δημιουργήσετε κουμπιά μενού γράφοντας, όπως φαίνεται στην αρχή του άρθρου, ή γράφοντας κώδικα, χάρη στον οποίο πολλές λειτουργίες σε κείμενο μπορούν να πραγματοποιηθούν πατώντας τα πλήκτρα λειτουργίας ή μέσω της καρτέλας "Προβολή" και το εικονίδιο "Μακροεντολές".

Στόχος της εργασίας -Μελέτη βασικών τελεστών και υλοποίηση βασικών δομών προγραμματισμού στη γλώσσα VBA.

4.1 Τα κύρια στάδια εργασίας με προγράμματα vba στο Excel

Για να προετοιμάσετε και να εκτελέσετε ένα πρόγραμμα σε VBA, πρέπει να κάνετε τα εξής:

    στο Excel, επιλέξτε μια εντολή από το μενού Εργαλεία – Μακροεντολή – ΕπεξεργαστήςΟπτικόςΒασικός;

    στο παράθυρο που εμφανίζεται, επιλέξτε την εντολή από το μενού ΕισάγετεΜονάδα μέτρησης. Δημιουργείται μια ενότητα, δηλαδή, για να το πούμε απλά, ανοίγει ένα παράθυρο στο οποίο μπορείτε να εισαγάγετε κείμενο προγράμματος.

Μπορεί να υποδεικνύεται μια οδηγία στην αρχή της ενότητας ΕπιλογήΣαφής. Εάν έχει καθοριστεί, τότε όλες οι μεταβλητές που χρησιμοποιούνται στο πρόγραμμα θα πρέπει να δηλωθούν στη δήλωση Αμυδρός(Για περισσότερες πληροφορίες σχετικά με αυτό, δείτε την υποενότητα 4.3).

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

Για να εκτελέσετε το πρόγραμμα, πρέπει να επιλέξετε την εντολή από το μενού Εκτέλεση – Εκτέλεση Sub/UserForm.

4.2 Το απλούστερο παράδειγμα προγράμματος σε VBA

Παράδειγμα 4.1– Ένα πρόγραμμα που αυξάνει έναν καθορισμένο αριθμό έναστον καθορισμένο βαθμό σι.

Dim a As Single, b As Single

a = InputBox ("Εισαγωγή βάσης: ")

b = InputBox ("Εισαγάγετε τον εκθέτη: ")

x = a^b ‘Εκθετική

MsgBox("Το αποτέλεσμα είναι" & x)

Εδώ είναι η λέξη Υπουποδεικνύει την έναρξη της διαδικασίας· το όνομά της σε αυτή την περίπτωση είναι αλφαβητάρι4_1 . Ένα πρόγραμμα VBA αποτελείται πάντα από μία ή περισσότερες διαδικασίες (στην περίπτωση αυτή, μία).

Ο χαρακτήρας ' (μονό εισαγωγικό) υποδηλώνει την αρχή ενός σχολίου. Το κείμενο του σχολίου μπορεί να είναι οτιδήποτε.

Αμυδρός– τελεστής δήλωσης μεταβλητής. Σε αυτή την περίπτωση υποδεικνύεται ότι οι μεταβλητές έναΚαι σιέχουν τύπο Μονόκλινο. εκείνοι. μπορεί να αναπαριστά και ακέραιους και κλασματικούς αριθμούς. Οι τύποι δεδομένων και οι δηλώσεις μεταβλητών θα συζητηθούν λεπτομερέστερα στην υποενότητα 4.3.

InputBox– συνάρτηση για την εισαγωγή της τιμής μιας μεταβλητής. Γραμμή ένα = InputBox("Εισαγωγή βάσης:”) σημαίνει ότι εισάγεται η τιμή της μεταβλητής ένα; εμφανίζεται ένα μήνυμα στην οθόνη "Εισαγωγή βάσης:". Γραμμή Χ = ένα^ σι– τελεστής εκχώρησης: υπολογίζεται η τιμή της δεξιάς πλευράς (στην περίπτωση αυτή, η μεταβλητή έναανυψώθηκε στην εξουσία σι), και το αποτέλεσμα εκχωρείται στη μεταβλητή που καθορίζεται στην αριστερή πλευρά (σε αυτήν την περίπτωση, η μεταβλητή Χ). Γραμμή MsgBox("Το αποτέλεσμα είναι" &Χ) σημαίνει ότι εμφανίζεται ένα μήνυμα στην οθόνη «Το αποτέλεσμα είναι ίσο με»και την τιμή της μεταβλητής Χ.

Σημείωση - Υπογραφή & σε λειτουργία MsgBoxέχει σχεδιαστεί για να συνενώνει πολλά στοιχεία δεδομένων που πρέπει να εμφανίζονται, σε αυτό το παράδειγμα συμβολοσειρές «Το αποτέλεσμα είναι ίσο»και μεταβλητή Χ. Παρόμοιο σημάδι & μπορεί να χρησιμοποιηθεί στη λειτουργία InputBox(παραδείγματα τέτοιας χρήσης θα δοθούν παρακάτω). Μπροστά στην πινακίδα & και πρέπει να υπάρχουν κενά μετά από αυτό.

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

«Πρώτο παράδειγμα προγράμματος VBA

Dim a As Single, b As Single

a = InputBox("Εισαγάγετε τη βάση: ") : b = InputBox("Εισαγάγετε τον εκθέτη: ")

x = a^b: MsgBox("Το αποτέλεσμα είναι " & x) "Εκθετικό αποτέλεσμα και έξοδος του αποτελέσματος

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


Βιβλίο: Χρήση μακροεντολών στο Excel.

Σελίδες: 507

Μορφή: DJVU
Μέγεθος: 8,02 Mb

Παρά την ισχυρή λειτουργικότητα που παρέχει η διεπαφή χρήστη του Excel, υπάρχει ένας αριθμός εργασιών που μπορούν να εκτελεστούν μόνο μέσω προγραμματισμού. Το βιβλίο "Χρήση μακροεντολών στο Excel" είναι μια εισαγωγή στον προγραμματισμό του Excel VBA, που περιέχει παραδείγματα επίλυσης διαφόρων πρακτικών προβλημάτων που προκύπτουν κατά την εργασία στο Excel.Το υλικό του βιβλίου προορίζεται για χρήστες του Excel, καθώς και για προγραμματιστές που δεν είναι εξοικειωμένοι με το μοντέλο αντικειμένου του Excel. Μαζί με τις ενότητες για την ανάπτυξη μακροεντολών για το Excel 2002, παρέχει ένα εισαγωγικό μάθημα για τη σύνταξη μακροεντολών και προγραμμάτων στο περιβάλλον του Excel.

Βιβλίο: Εντατικό μάθημα προγραμματισμού Excel το Σαββατοκύριακο

Εκδότης: Διαλεκτική
Σελίδες: 421
Μορφή: DJVU
Μέγεθος: 12,6 MB
Ποιότητα: Κανονικός
Γλώσσα: Ρωσική
Είδος: προγραμματισμός
Έτος έκδοσης: 2004
ISBN: 5-8459-0687-3

Οι δυνατότητες του Microsoft Excel δεν περιορίζονται στην εργασία με πίνακες δεδομένων. Πίσω από τα εργαλεία επεξεργασίας υπολογιστικών φύλλων κρύβεται μια ισχυρή γλώσσα προγραμματισμού - η VBA (Visual Basic for Applications). Ωστόσο, σχεδόν οποιοσδήποτε χρήστης έχει την ευκαιρία να μάθει πώς να γράφει προγράμματα σε VBA για να λύνει τα πιο διαφορετικά προβλήματα στο Excel - από τη μηχανική εκτέλεση των υπολογισμών έως τη δημιουργία ενός συστήματος για την εισαγωγή δεδομένων με τις δικές του φόρμες οθόνης και με τη δυνατότητα αναθεώρησης της ορθότητας των εισαγόμενων τιμών.

Βιβλίο: Προγραμματισμός σε VBA 2002

Ποιότητα: Κανονικός
Γλώσσα: Ρωσική
Είδος: προγραμματισμός

Το βιβλίο περιέχει ένα μάθημα προγραμματισμού στη Visual Basic για Εφαρμογές (VBA), που είναι η βασική γλώσσα στις εφαρμογές του Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio κ.λπ.). Το βιβλίο προορίζεται για αρχάριους να προγραμματίζουν σε περιβάλλον Windows χρησιμοποιώντας αντικείμενα Word, Excel και PowerPoint.Μέρος του βιβλίου είναι αφιερωμένο στην ανάπτυξη εφαρμογών του Office που χρησιμοποιούν βάσεις δεδομένων που είναι αποθηκευμένες τόσο σε ξεχωριστά αρχεία όσο και σε απομακρυσμένους διακομιστές.Το βιβλίο περιέχει αρκετό υλικό για την εκμάθηση των βασικών στοιχείων της γλώσσας της Visual Basic και τη δημιουργία απλών μακροεντολών που βοηθούν στην αυτοματοποίηση της ρουτίνας, της επαναλαμβανόμενης εργασίας με έγγραφα, υπολογιστικά φύλλα, γραφήματα, παρουσιάσεις κ.λπ., καθώς και για την ανάπτυξη αρκετά περίπλοκων εφαρμογών επεξεργασίας βάσεων δεδομένων χρησιμοποιώντας παράθυρα διαλόγου που παρέχουν στον χρήστη τα πιο σύγχρονα εργαλεία διεπαφής.Τα περισσότερα από τα παραδείγματα του βιβλίου είναι αφιερωμένα σε τρέχοντα θέματα εμπορικής δραστηριότητας, επομένως το βιβλίο θα είναι πολύ χρήσιμο σε διευθυντές διαφόρων επιπέδων, για τους οποίους προφανώς προορίζονται τόσο το Microsoft Office όσο και η ενσωματωμένη γλώσσα προγραμματισμού VBA.
Τα παραρτήματα στο τέλος του βιβλίου μπορούν να χρησιμεύσουν ως εύχρηστη αναφορά για την εργασία τόσο με τη VBA όσο και με την κανονική VB.

Βιβλίο: Επαγγελματικός προγραμματισμός σε VBA στο Excel 2003
John Walkenbach
Εκδότης: Ουίλιαμς
Μορφή: PDF
Μέγεθος: 11 MB
Ποιότητα: Εξοχος
Γλώσσα: Ρωσική
Έτος έκδοσης: 2005
ISBN: 5-8459-0771-3
Το βιβλίο συνοδεύεται από δίσκο

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

Έκδοση PDF που επεξεργάστηκε και παρέχεται ευγενικά από τον συμμετέχοντα.

Βιβλίο: :
John Walkenbach
Εκδότης: Wiley
Μορφή: PDF
Σελίδες: 1308
Μέγεθος: 11,9 MB
Ποιότητα: Εξοχος
Γλώσσα: Αγγλικά
Έτος έκδοσης: 2010
Αυτό το βιβλίο εστιάζει στη Visual Basic for Applications (VBA), τη γλώσσα προγραμματισμού που είναι ενσωματωμένη στο Excel (και σε άλλες εφαρμογές που αποτελούν το Microsoft Office). Πιο συγκεκριμένα, θα σας δείξει πώς να γράφετε προγράμματα που αυτοματοποιούν διάφορες εργασίες στο Excel. Αυτό το βιβλίο καλύπτει τα πάντα, από την εγγραφή απλών μακροεντολών έως τη δημιουργία εξελιγμένων εφαρμογών και βοηθητικών προγραμμάτων προσανατολισμένων στον χρήστη. Αυτό το βιβλίο δεν καλύπτει τα Microsoft Visual Studio Tools for Office (VSTO). Το VSTO είναι μια σχετικά νέα τεχνολογία που χρησιμοποιεί Visual Basic .NET και Microsoft Visual C#. Το VSTO μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο του Excel και άλλων εφαρμογών του Microsoft Office.
Αυτό δεν είναι ένα βιβλίο για αρχάριους χρήστες του Excel. Εάν δεν έχετε εμπειρία με το Excel, μια καλύτερη επιλογή μπορεί να είναι το Excel 2010 Bible, το οποίο παρέχει ολοκληρωμένη κάλυψη όλων των δυνατοτήτων του Excel. Αυτό το βιβλίο προορίζεται για χρήστες όλων των επιπέδων.

Βιβλίο: : Επαγγελματικός προγραμματισμός σε VBA στο Excel 2010
John Walkenbach
Εκδότης: Διαλεκτική
Μορφή: PDF
Σελίδες:920
Μέγεθος: 22,1 MB
Ποιότητα: Εξοχος
Γλώσσα: Ρωσική
Έτος έκδοσης: 2010 Το θέμα αυτού του βιβλίου είναι η γλώσσα προγραμματισμού της Visual Basic for Applications (VBA), η οποία είναι ενσωματωμένη στο Excel καθώς και σε άλλες εφαρμογές που περιλαμβάνονται στο Microsoft Office. Περιγράφει λεπτομερώς τη δημιουργία προγραμμάτων που αυτοματοποιούν την εκτέλεση διαφόρων εργασιών στο Excel και καλύπτει επίσης ένα ευρύ φάσμα άλλων θεμάτων - από τη σύνταξη απλών μακροεντολών έως τη δημιουργία πολύπλοκων εφαρμογών και βοηθητικών προγραμμάτων που έχουν σχεδιαστεί για αλληλεπίδραση με τον χρήστη. Αυτό το βιβλίο δεν περιγράφει το πακέτο λογισμικού Microsoft Visual Studio Tools for Office (VSTO). Είναι μια ενσάρκωση μιας σχετικά νέας τεχνολογίας που χρησιμοποιεί Visual Basic .NET και Microsoft Visual C#. Η τεχνολογία VSTO μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο της συμπεριφοράς του Excel και άλλων εφαρμογών του Microsoft Office.

Αυτό το βιβλίο δεν προορίζεται για αρχάριους χρήστες του Excel. Εάν δεν έχετε εμπειρία με αυτήν την εφαρμογή, τότε διαβάστε πρώτα το βιβλίο Excel 2010. The User's Bible, που εξηγεί αναλυτικά όλες τις δυνατότητες του Excel (απευθύνεται σε χρήστες όλων των επιπέδων).


Βιβλίο:Εκμάθηση VBA
Γκαρνάεφ Α.
Εκδότης: bhv
Σελίδες: 512
Μορφή: html με εικόνες σε rar
ISBN: 5-8206-0067-3
Μέγεθος: 2,22 MB

Εξοχος

Γλώσσα: Αγγλικά
Έτος έκδοσης: 2009

Το Microsoft Excel είναι πολύ περισσότερα από ένα υπολογιστικό φύλλο. Με την εισαγωγή του Visual Basic Editor στο Excel 97, ακολουθούμενη από τη σημαντικά βελτιωμένη σταθερότητα του Excel 2000, το Excel έγινε από μόνο του μια σεβαστή πλατφόρμα ανάπτυξης. Οι εφαρμογές Excel βρίσκονται πλέον μαζί με αυτές που βασίζονται σε C++, Java και την πλατφόρμα ανάπτυξης .NET, ως μέρος της βασικής σουίτας εταιρικών εφαρμογών που είναι κρίσιμες για την αποστολή.
Δυστυχώς, το Excel εξακολουθεί να θεωρείται πολύ συχνά ως μια πλατφόρμα χομπίστας, ότι οι άνθρωποι αναπτύσσουν εφαρμογές Excel μόνο στον ελεύθερο χρόνο τους για να αυτοματοποιήσουν μικρές εργασίες. Μια σύντομη ματιά σε πολλά βιβλία Excel VBA φαίνεται να επιβεβαιώνει αυτή τη γνώμη. Αυτά τα βιβλία επικεντρώνονται στα βασικά στοιχεία της αυτοματοποίησης εργασιών του Excel χρησιμοποιώντας VBA. Αυτό το βιβλίο είναι το πρώτο του είδους του που παρέχει μια λεπτομερή εξήγηση του τρόπου χρήσης του Excel ως πλατφόρμας για την ανάπτυξη εφαρμογών επαγγελματικής ποιότητας.
Ενώ οι περισσότερες άλλες μεγάλες πλατφόρμες ανάπτυξης φαίνεται να έχουν ένα de facto πρότυπο κείμενο που εξηγεί τις κοινώς αποδεκτές βέλτιστες πρακτικές για την αρχιτεκτονική, το σχεδιασμό και την ανάπτυξη εφαρμογών που χρησιμοποιούν αυτήν την πλατφόρμα, μέχρι τώρα το Excel δεν το είχε. Αυτό το κενό προσπαθεί να καλύψει αυτό το βιβλίο. Οι συγγραφείς είναι επαγγελματίες προγραμματιστές του Excel που δημιουργούν εφαρμογές που βασίζονται στο Excel για πελάτες που κυμαίνονται από ιδιώτες έως τις μεγαλύτερες πολυεθνικές εταιρείες. Αυτό το βιβλίο εξηγεί τις προσεγγίσεις που χρησιμοποιούμε κατά το σχεδιασμό, την ανάπτυξη, τη διανομή και την υποστήριξη των εφαρμογών που γράφουμε για τους πελάτες μας.
Αυτό το βιβλίο παρασχέθηκε από έναν χρήστη

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

Μακροεντολή Excel: Παράδειγμα 1

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

"Η διαδικασία Sub αναζητά ένα κελί που περιέχει την καθορισμένη συμβολοσειρά "στην περιοχή των κελιών A1:A100 του ενεργού φύλλου Sub Find_String(sFindText As String) Dim i As Integer "Ένας ακέραιος αριθμός τύπου Integer, που χρησιμοποιείται σε έναν βρόχο For Dim iRowNumber Ως ακέραιος "Ένας ακέραιος τύπου Integer για την αποθήκευση του αποτελέσματος iRowNumber = 0 "Ψάχνει μέσα από τα κελιά A1:A100 ένα προς ένα μέχρι να βρεθεί η συμβολοσειρά sFindText For i = 1 έως 100 If Cells(i, 1).Value = sFindText Then " Εάν βρεθεί αντιστοίχιση με την καθορισμένη συμβολοσειρά " αποθηκεύστε τον αριθμό της τρέχουσας σειράς και βγείτε από τον βρόχο Για iRowNumber = i Έξοδος για Τέλος Εάν Επόμενο i "Ενημερώστε τον χρήστη σε ένα αναδυόμενο παράθυρο εάν έχει βρεθεί η απαιτούμενη σειρά "Εάν η καθορισμένη η σειρά βρέθηκε, υποδείξτε σε ποιο κελί βρίσκεται το ταίριασμα Αν iRowNumber = 0 Τότε MsgBox "Row" & sFindText & " not found" Else MsgBox "Row" & sFindText & " βρέθηκαν στο κελί A" & iRowNumber End If End Sub

Μακροεντολή Excel: Παράδειγμα 2

Επόμενη διαδικασία Υπο– παράδειγμα χρήσης βρόχου Κάνετε Ενώ. Μπορείτε επίσης να δείτε πώς δηλώνονται οι μεταβλητές, δουλεύοντας με αναφορές κελιών του Excel και χρησιμοποιώντας μια πρόταση υπό όρους. Αν.

"Η διαδικασία Sub εξάγει αριθμούς Fibonacci που δεν υπερβαίνουν το 1000 Sub Fibonacci() Dim i As Integer "Ένας μετρητής που δείχνει τη θέση ενός στοιχείου στην ακολουθία Dim iFib As Integer "Αποθηκεύει την τρέχουσα τιμή της ακολουθίας Dim iFib_Next ως ακέραιος "Αποθηκεύει το επόμενη τιμή της ακολουθίας Dim iStep As Integer "Αποθηκεύει το μέγεθος της επόμενης προσαύξησης "Αρχικοποίηση των μεταβλητών i και iFib_Next i = 1 iFib_Next = 0 "Ο βρόχος Do while θα εκτελεστεί έως ότου η τιμή του "τρέχοντος αριθμού Fibonacci υπερβεί το 1000 Do while iFib_Next< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

Μακροεντολή Excel: Παράδειγμα 3

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

"Η διαδικασία Sub αποθηκεύει τις τιμές κελιών της στήλης Α του ενεργού φύλλου στον πίνακα Sub GetCellValues() Dim iRow As Integer "Αποθηκεύει τον αριθμό της τρέχουσας σειράς Dim dCellValues() Ως Διπλό "Πίνακας για την αποθήκευση των τιμών των κελιών iRow = 1 ReDim dCellValues(1 έως 10) "Do Loop Μέχρι να επαναληφθεί διαδοχικά μέσα από τα κελιά της στήλης A του ενεργού φύλλου" και να εξαγάγει τις τιμές τους σε έναν πίνακα μέχρι να εμφανιστεί ένα κενό κελί Do Until IsEmpty(Cells( iRow, 1)) "Βεβαιωθείτε ότι ο πίνακας dCellValues ​​έχει επαρκές μέγεθος "Εάν όχι, αυξήστε τον πίνακα μεγέθους κατά 10 χρησιμοποιώντας το ReDim If UBound(dCellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

Μακροεντολή Excel: Παράδειγμα 4

Σε αυτό το παράδειγμα, η διαδικασία Υποδιαβάζει τιμές από μια στήλη ΕΝΑφύλλο εργασίας Φύλλο2και εκτελεί αριθμητικές πράξεις πάνω τους. Τα αποτελέσματα εισάγονται στα κελιά της στήλης ΕΝΑστο ενεργό φύλλο εργασίας. Αυτή η μακροεντολή δείχνει τη χρήση αντικειμένων του Excel. Ειδικότερα, η προσφυγή διενεργείται με τη διαδικασία Υποστο αντικείμενο Στήλες, και δείχνει πώς γίνεται πρόσβαση σε αυτό το αντικείμενο μέσω του αντικειμένου Φύλλο εργασίας. Δείχνεται επίσης ότι κατά την πρόσβαση σε ένα κελί ή μια περιοχή κελιών στο ενεργό φύλλο, δεν είναι απαραίτητο να προσδιορίσετε το όνομα αυτού του φύλλου κατά τη σύνταξη του συνδέσμου.

"Η διαδικασία Sub, χρησιμοποιώντας έναν βρόχο, διαβάζει τις τιμές στη στήλη Α του φύλλου εργασίας Sheet2, "εκτελεί αριθμητικές πράξεις με κάθε τιμή και γράφει το αποτέλεσμα στη "στήλη Α του ενεργού φύλλου εργασίας (Sheet1) Sub Transfer_ColA() Dim i Ως ακέραιος Dim Col ως εύρος Dim dVal Ως διπλό "Αντιστοίχιση στη μεταβλητή Col στήλη A του φύλλου εργασίας Φύλλο 2 Set Col = Sheets("Sheet2"). Στήλες("A") i = 1 "Χρησιμοποιώντας έναν βρόχο, διαβάζουμε τις τιμές ​​των κελιών της στήλης Col μέχρι "μέχρι να εμφανιστεί ένα κενό κελί Do Until IsEmpty(Col.Cells(i)) "Εκτελέστε αριθμητικές πράξεις στην τιμή του τρέχοντος κελιού dVal = Col.Cells(i).Τιμή * 3 - 1 "Η ακόλουθη εντολή γράφει το αποτέλεσμα στη στήλη Α του ενεργού φύλλου εργασίας "Δηλώστε το όνομα του φύλλου στον σύνδεσμο που δεν είναι απαραίτητο, καθώς αυτό είναι το ενεργό φύλλο Cells(i, 1) = dVal i = i + 1 Loop End Sub.

Μακροεντολή Excel: Παράδειγμα 5

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

"Αυτός ο κωδικός εμφανίζει ένα πλαίσιο μηνύματος εάν το κελί B1 είναι επιλεγμένο στο τρέχον φύλλο εργασίας. Private Sub Worksheet_SelectionChange(ByVal Target As Range) "Ελέγξτε εάν το κελί B1 είναι επιλεγμένο εάν Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Στη συνέχεια, "Εάν είναι επιλεγμένο το κελί B1, εκτελέστε την απαιτούμενη ενέργεια MsgBox "Έχετε επιλέξει το κελί B1" End If End Sub

Μακροεντολή Excel: Παράδειγμα 6

Αυτή η διαδικασία απεικονίζει τη χρήση τελεστών ΣφάλμαΚαι ΒΙΟΓΡΑΦΙΚΟγια χειρισμό σφαλμάτων. Αυτός ο κώδικας δείχνει επίσης ένα παράδειγμα ανοίγματος και ανάγνωσης δεδομένων από ένα αρχείο.

"Η διαδικασία Sub εκχωρεί στα ορίσματα Val1 και Val2 τις τιμές των κελιών A1 και B1" από το βιβλίο εργασίας Data.xlsx που βρίσκεται στο φάκελο C:\Documents and Settings Sub Set_Values(Val1 As Double, Val2 As Double) Dim DataWorkbook As Βιβλίο εργασίας On Error GoTo ErrorHandling " Ανοίξτε το βιβλίο εργασίας με το σύνολο δεδομένων DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data") "Εκχωρήστε τις τιμές Val1 και Val2 των μεταβλητών από το δεδομένο βιβλίο εργασίας Val1 = Sheets("Sheet1 ").Cells(1, 1) Val2 = Sheets("Sheet1").Cells(1, 2) DataWorkbook.Close Exit Sub Error Handling: "Εάν το αρχείο δεν βρεθεί, θα ζητηθεί από τον χρήστη να τοποθετήσει το αρχείο που αναζητήθηκε " στον επιθυμητό φάκελο και, στη συνέχεια, συνεχίστε την εκτέλεση της μακροεντολής MsgBox "The Data.xlsx file is not found!" & _ "Please προσθέστε το βιβλίο εργασίας στο φάκελο C:\Documents and Settings και κάντε κλικ στο OK" Resume End Sub

Το περιεχόμενο αυτής της σελίδας θα επεκτείνεται συνεχώς...
  1. Πρόγραμμα αριθμομηχανής "Αύξηση αριθμών σε μεγάλες δυνάμεις."

    Εφαρμόστε ακριβή υπολογισμό της αύξησης μονοψήφιων αριθμών (από το 2 στο 9) σε μεγάλες δυνάμεις χρησιμοποιώντας μεγάλη αριθμητική.

  2. Από το φόρουμ του Jonny323. VBA Word

    Γεια σε όλους. Χρειάζομαι πραγματικά μια μακροεντολή, νομίζω ότι δεν είναι περίπλοκο: Εκτυπώστε την πρώτη σελίδα σε 6 αντίγραφα και τη 2η σελίδα σε 2 αντίγραφα.

  3. Γραμμή προόδου στη φόρμα. VBA Excel

    Έλεγχος που δείχνει την πορεία του προγράμματος (πόση δουλειά έχει γίνει από το 100%)...

  4. Στατιστικοί υπολογισμοί σε επιλεγμένο κείμενο. VBA Word

    Δημιουργήστε μια μακροεντολή στο Word που θα καθορίζει τον αριθμό των λέξεων, κόμματα και τελείες στο ελεύθερο κείμενο.
    Οι λέξεις είναι ομάδες χαρακτήρων που χωρίζονται με κενά (ένα ή περισσότερα) και δεν περιέχουν κενά μέσα τους. Δεν μπορεί να υπάρχουν τελείες ή κόμματα μέσα σε μια λέξη. Οι ελλείψεις δεν μετράνε ως τελείες...

  5. Στατιστικοί υπολογισμοί στο κείμενο του εγγράφου. Χρησιμοποιώντας το UserForm για την εισαγωγή δεδομένων. VBA Word

    Δημιουργία προγράμματος στο Word - Στη φόρμα, ο χρήστης εισάγει μια λέξη ή φράση και το πρόγραμμα σαρώνει ολόκληρο το κείμενο και εισάγει την εισαγόμενη λέξη (φράση) στο τέλος του εγγράφου, δίπλα στην οποία υπάρχουν όλοι οι αριθμοί σελίδων στις οποίες λέξη εμφανίζεται παρατίθενται. Δεν επιτρέπεται η αντιστοίχιση αριθμών σελίδων. Δηλαδή, εάν η καθορισμένη λέξη εμφανίζεται τρεις φορές στη σελίδα 5, ο αριθμός 5 εμφανίζεται μόνο μία φορά στην έξοδο. Το έντυπο πρέπει να αποτελείται από τα ακόλουθα στοιχεία:
    - 1 TextBox για την εισαγωγή λέξης (φράση).
    - 1 κουμπί για έξοδο από το πρόγραμμα.
    - 1 κουμπί για να ξεκινήσει η αναζήτηση και να εισαχθεί το αποτέλεσμα στο έγγραφο.
    - ένα στοιχείο τύπου ετικέτας με επεξηγηματικό κείμενο πάνω από τη γραμμή εισαγωγής.
    - Επιπλέον, η φόρμα μπορεί να έχει στοιχεία του τύπου Frame.

  6. Εργασία με ListBox (Excel). Σύνδεση, ταξινόμηση, πολλαπλή επιλογή...

  7. Πρόγραμμα για την επίλυση του ιαπωνικού παζλ Sudoku (Excel)

  8. Μακροεντολές εκτέλεσης ερωτήματος (δηλαδή δημιουργία νέου πίνακα από μια βάση δεδομένων του Excel)

  9. Ταξινόμηση Hoare (αλγόριθμος από το wikipedia.org)

    Μία από τις πιο γρήγορες μεθόδους ταξινόμησης.
  10. Ταξινόμηση συγχώνευσης (χρησιμοποιώντας το Hoare)

    Μία από τις πιο γρήγορες και βέλτιστες μεθόδους ταξινόμησης.
  11. VBA Excel: Πρόγραμμα για τον υπολογισμό των ανθρώπινων βιορυθμών

  12. Για το blackarrow από το programmersforum.ru

  13. Προσδιορίστε ποιο τέταρτο συντεταγμένων
    ένα σημείο με δεδομένες συντεταγμένες Α(α,β) χτυπά. VBA EXCEL.

  14. Αναπαριστά έναν ακέραιο με λέξεις VBA EXCEL.

  15. ΛΟΓΙΚΕΣ.

    Επίλυση δευτεροβάθμιας εξίσωσης.
  16. VBA EXCEL.

  17. VBA EXCEL. Πρόβλημα τριγώνου. Πίνακας, βρόχος, λογική.

    Με βάση τις δεδομένες διαστάσεις των τριών πλευρών του τριγώνου, προσδιορίστε τον τύπο του (ορθογώνιο, αμβλεία, οξεία ή αδύνατο να κατασκευαστεί).
  18. Ξυπνητήρι στο Excel

  19. VBA EXCEL.

  20. VBA EXCEL.

  21. VBA EXCEL.

    Μια μακροεντολή που αντιπροσωπεύει στην επιλεγμένη περιοχή Όλοι οι αρνητικοί αριθμοί είναι με μπλε, οι θετικοί είναι με κόκκινο και οι μηδέν είναι με λευκό (ή κίτρινο).

  22. VBA EXCEL. Τρόπος απόκρυψης ή εμφάνισης στοιχείων φύλλου εργασίας.

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

    Δεν είναι δύσκολο να προσθέσετε (να αφαιρέσετε) το δικό σας στοιχείο στο μενού του Excel. Όλα αυτά περιγράφονται στη βοήθεια.
    Αλλά είναι πολύ πιο ενδιαφέρον να εμπιστευτείς αυτό το έργο σε μια μακροεντολή.
    Στη συνέχεια, καθίσταται δυνατή η δημιουργία ενός ειδικού, μεμονωμένου μενού κατά το άνοιγμα ενός συγκεκριμένου εγγράφου και αφού το κλείσετε, επαναφέρετε το μενού του Excel στην αρχική του κατάσταση. (Αυτό το παράδειγμα κώδικα λειτουργεί μόνο στο MS Excel 2003 και το 2007 τα ονόματα των πινάκων ελέγχου πρέπει να αλλάξουν)
  24. Κυψελωτά αυτόματα VBA EXCEL.

  25. Μέθοδος Golden Ratio VBA EXCEL.

  26. Αντικαθιστά τις μέγιστες και ελάχιστες τιμές των κελιών στην επιλεγμένη περιοχή. VBA Excel

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

  27. Μια συνάρτηση συμβολοσειράς που επιστρέφει τα τετράγωνα των πρώτων αριθμών από το μηδέν σε έναν δεδομένο αριθμό. VBA Excel

    Δημιουργήστε μια συνάρτηση στο Excel που λαμβάνει έναν φυσικό αριθμό N και επιστρέφει τα τετράγωνα όλων των πρώτων αριθμών από το 0 σε έναν δεδομένο φυσικό αριθμό N.

  28. Φόρμα χρήστη (UserForm) για την εισαγωγή στοιχείων για δάνεια εμπορικών τραπεζών. VBA Excel

    Οργανώστε την καταχώριση πληροφοριών σε έναν πίνακα που περιέχει στοιχεία για την έκδοση μακροπρόθεσμων δανείων από εμπορική τράπεζα με τα ακόλουθα στοιχεία: κωδικός του παραλήπτη του δανείου, όνομα του παραλήπτη του δανείου, ημερομηνία δανείου, διάρκεια (3-4 όροι ) για το οποίο εκδόθηκε το δάνειο (σε ημέρες), τόκοι, ποσό δανείου, ημερομηνία καταβολής τόκων του δανείου.

  29. Φόρμα χρήστη (UserForm) για την εισαγωγή δεδομένων στην Τουριστική Εγγραφή. VBA Excel

    σε αυτό ακριβώς το μέρος...