Προγραμματισμός στο Excel από την αρχή. VBA Excel: δείγματα προγραμμάτων. Μακροεντολές στο Excel

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

Μορφή αρχείου:.χμ

Αναφορά συναρτήσεων φύλλου εργασίας του Excel(532,2 KiB, 15.462 λήψεις)

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

Μορφή αρχείου:.pdf

Προγραμματισμός VBA στο MSOffice(4,1 MiB, 26.659 λήψεις)
Δεν έχετε άδεια λήψης αυτού του αρχείου. Ίσως δεν είστε εγγεγραμμένος στον ιστότοπο. Εγγραφείτε και δοκιμάστε να κάνετε λήψη ξανά.

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

Μορφή αρχείου:.pdf

Office 2007. Εκμάθηση - Εάν αποφασίσετε να ρίξετε μια πιο προσεκτική ματιά στη διεπαφή και τις βασικές δυνατότητες των εφαρμογών του Microsoft Office, τότε σας συμβουλεύω να διαβάσετε αυτό το βιβλίο. Περιγράφει όλα όσα χρειάζεστε για να εργαστείτε με επιτυχία σε εφαρμογές όπως: Excel, Word, Outlook, Power Point, Access. Μετά την ανάγνωση, θα μπορείτε να δημιουργήσετε όμορφες παρουσιάσεις και ενημερωτικά γραφικά, να μάθετε πώς να δημιουργείτε εργασίες στο Outlook και βάσεις δεδομένων στην Access.

Μορφή αρχείου:.pdf

Ρωσική βοήθεια για τη Visual Basic για Εφαρμογή (VBA) - Αυτή είναι η επίσημη βοήθεια για τη Visual Basic για Εφαρμογή (VBA), η οποία περιλαμβανόταν στο πακέτο του Microsoft Office 97. Στη συνέχεια, η βοήθεια ήταν ακόμα ρωσική. Δεν είναι μυστικό ότι πλέον σε όλες τις εκδόσεις του Office, η βοήθεια VBA είναι διαθέσιμη μόνο στα Αγγλικά, ανεξάρτητα από την τοπική προσαρμογή. Αλλά δεν μπορούν όλοι να διαβάσουν αστικά (ακόμα και βατά, όπως δείχνει η πρακτική).
Θέλω να σας προειδοποιήσω αμέσως - γιατί... Η βοήθεια προορίζεται για μια αρκετά παλιά έκδοση δεν περιγράφονται όλες οι μέθοδοι και οι ιδιότητες. Αλλά τα περισσότερα από αυτά εξακολουθούν να περιγράφονται και, ελπίζω, αυτή η βοήθεια θα σας βοηθήσει στην αρχική μελέτη της VBA.

Μορφή αρχείου:.αρχείο βοήθειας

RUS_VBA.zip(1,1 MiB, 9.164 λήψεις)
Δεν έχετε άδεια λήψης αυτού του αρχείου. Ίσως δεν είστε εγγεγραμμένος στον ιστότοπο. Εγγραφείτε και δοκιμάστε να κάνετε λήψη ξανά.

Αντικείμενα Shell_RegExp, κ.λπ. - μια ολόκληρη συλλογή παραδειγμάτων εργασίας με αντικείμενα όπως: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, σταθερές και συναρτήσεις WScript. Όλα τα παραδείγματα είναι δομημένα σε ενότητες και παρέχονται ως αναφορά για τις ιδιότητες και τις μεθόδους κάθε αντικειμένου. Είναι πολύ βολικό αν δεν χρησιμοποιείτε αυτά τα αντικείμενα πολύ συχνά στη δουλειά σας και έχετε ξεχάσει κάτι.

Εκτός από συμβουλές για το πώς να μάθετε να γράφετε μακροεντολές VBA για Excel, θα σας πω την ιστορία μου - πώς έμαθα να προγραμματίζω σε VBA.

Όλα ξεκίνησαν τον περασμένο αιώνα, στο 1993 χρονιά που ήμουν στο σχολείο. Κατά τη διάρκεια των μαθημάτων πληροφορικής, στην τάξη μας, υπήρχαν υπολογιστές-τέρατα που ονομάζονταν "Corvette" και γράφαμε απλά προγράμματα σε αυτούς στο BASIC. Αυτοί οι υπολογιστές διέφεραν από τους "κανονικούς" (συμβατούς με IBM) αρκετά αισθητά - είχαν μονόχρωμη οθόνη, δεν υπήρχε καθόλου σκληρός δίσκος ή μονάδες δισκέτας και το μόνο που έτρεχε σε αυτόν (αυτόματα, μετά την εκκίνηση) ήταν το Basic διερμηνέας γλώσσας.

Στην πραγματικότητα, το ενδιαφέρον μου για τον προγραμματισμό φάνηκε νωρίτερα - σε ηλικία 9 ετών, όταν είδα στο περιοδικό "Modelist-Konstruktor" για το 1988 (το οποίο διάβαζα τακτικά, από εξώφυλλο σε εξώφυλλο) κάποιους κωδικούς μηχανών για τον υπολογιστή "Specialist". . Τότε με ενδιέφερε πολύ η δυνατότητα να εισάγω μερικά γράμματα και αριθμούς στον υπολογιστή για να τον κάνω αυτό που ήθελα. Αλίμονο, η οικονομική κατάσταση των γονιών μου εκείνη την εποχή άφηνε πολλά να είναι επιθυμητή, και η αγορά οποιασδήποτε εμφάνισης υπολογιστή ήταν εκτός συζήτησης. Έτσι διασκέδασα αντιγράφοντας αυτούς τους κωδικούς από το περιοδικό σε ένα σημειωματάριο, με την ελπίδα ότι κάποια μέρα θα έχω έναν υπολογιστή και θα μπορώ να τον ελέγξω :)

Επειδή εκείνες τις μέρες ένας οικιακός υπολογιστής ήταν πολυτέλεια (μόνο ορισμένοι είχαν Spectrums στο σπίτι και άλλοι είχαν την τύχη να έχουν ένα ακριβό IBM PC 286), έμαθα το Basic αποκλειστικά στο σχολείο, μερικές φορές μένοντας αργά μετά το σχολείο. Το σχολικό πρόγραμμα προέβλεπε μόνο 2 χρόνια σπουδών στο μάθημα "Πληροφορική" (τάξεις 10 και 11), αλλά από την παιδική ηλικία με ενδιέφεραν όλα τα είδη ηλεκτρονικών, έτσι άρχισα να παρακολουθώ μαθήματα από την 8η τάξη, διαβάζοντας τη μοναδική οδηγία βιβλίο για την «Corvette» (εδώ είναι αυτό το βιβλίο, με το οποίο ξεκίνησε το ταξίδι μου στον προγραμματισμό, είναι επίσης σε PDF), και προσπαθώ να συνθέσω απλά προγράμματα. Σύντομα ο δάσκαλος άρχισε να με αφήνει να χρησιμοποιώ τον κύριο υπολογιστή (μόνο που είχε τη δυνατότητα να αποθηκεύει προγράμματα σε μια δισκέτα 5,25" - και ακόμη και τότε, χρειάστηκε πολλή δουλειά) - και τα προγράμματά μου έγιναν πολύ πιο περίπλοκα. κατάφερε να εφαρμόσει το παιχνίδι "Πόκερ" με μια γραφική διεπαφή (αποδείχθηκε ότι ήταν περίπου 2000 γραμμές κώδικα) - αυτό παρά το γεγονός ότι ο Βασικός διερμηνέας επέτρεπε μόνο σύμβολα και γραφικά πρωτόγονα να εμφανίζονται στην οθόνη.
Ως αποτέλεσμα, στο τέλος του σχολείου ( 1996 έτος) Χρησιμοποίησα επιδέξια βρόχους και είχα κάποια εμπειρία στη σύνθεση αλγορίθμων.

Όσο για τους αλγόριθμους, αυτός ο όρος με κάνει ακόμα αλλεργική. Ενώ σπούδαζα στο σχολείο, κατά τη διάρκεια διαλέξεων για την επιστήμη των υπολογιστών (σπούδασα αρκετά καλά και εμείς, οι νικητές όλων των ειδών των Ολυμπιάδων, στάλθηκαν για πρόσθετη εκπαίδευση στα ανώτερα μαθηματικά και την επιστήμη των υπολογιστών σε σχολή πλήρους απασχόλησης και αλληλογραφίας στο USU), αναγκάστηκαν να γράψουν αλγόριθμους σε κάποιο είδος ψευδοκώδικα (μίξη ρωσικών με Turbo Pascal). Επειδή ήμουν αισθητά πίσω από τους συνομηλίκους μου στον προγραμματισμό (σπούδαζαν σε υπολογιστές συμβατούς με IBM, που είχαν τον ίδιο Pascal και πολλά άλλα, και δεν ήξερα και δεν έβλεπα τίποτα εκτός από το BASIC), ήταν πολύ δύσκολο να κατακτήσω τη σύνταξη της αλγοριθμικής γλώσσας. Επιπλέον, δεν κατάλαβα (και ακόμα δεν καταλαβαίνω) γιατί πρέπει να αφιερώσετε μια ώρα για να μεταγλωττίσετε έναν αλγόριθμο για το απλούστερο πρόγραμμα, αν μπορείτε απλά να ανοίξετε έναν επεξεργαστή και να γράψετε μερικές γραμμές κώδικα (για μένα, που γνωρίζει κανονικά αγγλικά, η σύνταξη της γλώσσας BASIC ήταν πολύ πιο ξεκάθαρη από αυτόν τον κρυπτικό αλγοριθμικό ψευδοκώδικα). Δεν τίθεται καθόλου θέμα διαγραμμάτων ροής - όταν θυμάμαι το ινστιτούτο όπου αναγκαστήκαμε να σχεδιάσουμε διαγράμματα ροής (σε πολλά φύλλα Α4) για τα πιο απλά προγράμματα των 10 γραμμών, παύω να καταλαβαίνω πώς η επιθυμία για σπουδές προγραμματισμού μπορεί να παραμείνει τελικά αυτό...

Μετά την αποφοίτησή μου από το σχολείο, στο ινστιτούτο, σπούδασα λίγο Turbo Pascal, όπου η εκπαίδευση προγραμματισμού μου σταμάτησε για μια δεκαετία (δεν υπήρχε υπολογιστής στο σπίτι ή στη δουλειά) και ξέχασα σχεδόν όλα όσα σπούδαζα στα μαθήματα πληροφορικής.
Ωστόσο, σε 2004 έτος, στη δουλειά μου, τα αφεντικά αποφάσισαν τελικά να αντικαταστήσουν τη γραφομηχανή (στην οποία χτυπούσα ήδη πολύ επιδέξια τα πλήκτρα) με έναν απλό υπολογιστή (ήταν ένας Pentium-1 με 64 megabyte RAM και Windows 98). Λαμβάνοντας υπόψη ότι τότε είδα για πρώτη φορά τα Windows, έπρεπε να μάθω πώς να χρησιμοποιώ έναν υπολογιστή από την αρχή.

Έμαθα γρήγορα τον υπολογιστή, γιατί... Ήδη τη δεύτερη μέρα, τα Windows κατέρρευσαν μετά από μια ανεπιτυχή προσπάθεια overclock του επεξεργαστή και έπρεπε να μάθω επειγόντως πώς να επανεγκαταστήσω το λειτουργικό σύστημα και τα προγράμματα. Το άτομο που με βοήθησε να εγκαταστήσω το λειτουργικό και τα βασικά προγράμματα την πρώτη μέρα της γνωριμίας μου με τον υπολογιστή δεν είχε την ευκαιρία να με βοηθά συνεχώς. Μου άφησε διανομές Windows και Office, μερικούς δίσκους με διαφορετικά βοηθητικά προγράμματα, μετά από τα οποία μου εξήγησε πώς να εισάγω και να μορφοποιήσω κείμενο στο Word, πώς να ανοίξω και να αποθηκεύσω αρχεία μέσω του μενού του προγράμματος και έφυγε, ευχόμενος καλή τύχη. Δεν είχα άλλη επιλογή από το να κυριαρχήσω στο σύστημα τυχαία.

Τι ευλογία (μετά τη γραφομηχανή) ήταν η δυνατότητα αποθήκευσης και επεξεργασίας εκτυπωμένων εγγράφων... και δεν με ενόχλησε καθόλου που η εκκίνηση του Word χρειάστηκε περίπου 20-30 δευτερόλεπτα (και το CorelDRAW φορτώθηκε σε λίγα λεπτά). Ο υπολογιστής έγινε το κύριο χόμπι μου - σε μερικούς μήνες κατέκτησα τα βασικά προγράμματα, έξι μήνες αργότερα εργαζόμουν με όλη μου τη δύναμη στο μητρώο, επαναφέρω τα κατεστραμμένα Windows (ποιος θυμάται το Win98 θα με καταλάβει), στην πορεία κατέκτησα το αρχιτεκτονική του υπολογιστή (Έπρεπε συνεχώς να αντικαθιστώ μονάδες μνήμης, να συνδέσω πρόσθετους σκληρούς δίσκους κ.λπ.)

Η δουλειά μου συνίστατο στην προετοιμασία διαφόρων εγγράφων (πράξεις, εντολές κ.λπ.) και άρχισα να σκέφτομαι πώς να το απλοποιήσω (δεν μου αρέσει να κάνω το ίδιο πράγμα κάθε μέρα). Σχεδόν αμέσως παρατήρησα το στοιχείο "Visual Basic Editor" στο μενού του Microsoft Word και πήγα να δω τι είδους θηρίο ήταν. Τρύπησα, κοίταξα την ενσωματωμένη βοήθεια, αλλά δεν κατάλαβα πολλά. Αυτό το Basic δεν έμοιαζε καθόλου με αυτό που σπούδαζα στο σχολείο. Κατάλαβα ότι μπορείτε να σχεδιάσετε φόρμες με κουμπιά και πεδία κειμένου, αλλά ακόμα δεν κατάλαβα πώς να το κάνω να λειτουργήσει. Δεν υπήρχε πρόσβαση στο Διαδίκτυο, επομένως δεν μπορούσα να δω παραδείγματα χρήσης.

Θα είχα εγκαταλείψει αυτό το θέμα, αλλά τότε, μια ωραία μέρα, τα αρχεία του Word άρχισαν να ανοίγουν αργά και κάποιο είδος σφάλματος άρχισε να εμφανίζεται κατά το άνοιγμά τους. Άρχισα να το ψάχνω και ανακάλυψα ότι το σφάλμα παρουσιάζεται κατά την εκτέλεση μιας μακροεντολής 20 γραμμών που κατέληξε μυστηριωδώς σε όλα τα έγγραφά μου. Αφού κοίταξα τον κώδικα, συνειδητοποίησα ότι δεν ήταν τίποτα άλλο παρά ένας ιός μακροεντολής που μολύνει όλα τα αρχεία του Word που ανοίχτηκαν και προσπαθεί ανεπιτυχώς να στείλει κάποια δεδομένα μέσω του δικτύου. (παρεμπιπτόντως, αυτή ήταν η πρώτη και τελευταία φορά που είδα έναν ιό μακροεντολών - από τότε έχουν περάσει χιλιάδες αρχεία Excel και Word από μέσα μου και δεν έχω δει ποτέ ιό μακροεντολών σε αυτά). Αυτό με ενδιέφερε - εάν μια μακροεντολή μπορεί να συλλέξει δεδομένα από έναν υπολογιστή, να αντιγραφεί σε άλλα αρχεία και ακόμη και να στείλει κάτι σε άλλη διεύθυνση IP, τότε σχεδόν τα πάντα μπορούν να γίνουν χρησιμοποιώντας μακροεντολές!

Και άρχισα να κυριαρχώ στις μακροεντολές - διάβασα την ενσωματωμένη βοήθεια για το VBA, δοκίμασα παραδείγματα κώδικα από αυτήν τη βοήθεια, έγραψα απλούς βρόχους (που θυμόμουν από το σχολείο), σχεδίασα απλές φόρμες κ.λπ. Έκανα πλήρη χρήση της εγγραφής μακροεντολών στο Word, βελτιστοποιώντας τον κώδικα που προκύπτει. (Δεν δούλευα με το Excel εκείνη την εποχή - δεν κατάλαβα πραγματικά γιατί θα μπορούσε να είναι χρήσιμο). Αυτό έφερε λίγα οφέλη - αλλά ήταν ενδιαφέρον για μένα, γιατί... Με ενδιέφερε ο προγραμματισμός από το σχολείο. Σταδιακά, η δουλειά μου άρχισε να γίνεται πιο απλή, αν και η αυτοματοποίηση χρειάστηκε περισσότερο χρόνο από ό,τι θα χρειαζόταν για να εκτελέσει όλες τις ενέργειες χειροκίνητα.

Μια μέρα, μέσα 2006 Χρειαζόμουν πραγματικά τις δεξιότητες προγραμματισμού VBA. Ως μέρος της δουλειάς μου, χρειάστηκε να δημιουργήσω (σχεδιάστε στο CorelDRAW) πολλά παρόμοια σχέδια εκκένωσης (αυτά είναι σχέδια δωματίων με βέλη και συγκεκριμένα εικονίδια). Ήταν δυνατό να τα σχεδιάσετε με το χέρι, αλλά για να συμμορφωθεί το αποτέλεσμα με το GOST, ήταν απαραίτητο να διατηρηθούν διαφορετικές αναλογίες και αποστάσεις μεταξύ των στοιχείων. Η μετακίνηση εικονιδίων γύρω από το φύλλο, η προσαρμογή της απόστασης από τις γραμμές και τα γειτονικά εικονίδια "με το μάτι", έγινε γρήγορα βαρετή. Και έπρεπε επίσης να ευθυγραμμίσω τα πάντα, να σχεδιάσω γρήγορα και να συνδέσω όμορφα διακεκομμένες γραμμές, να κάνω προετοιμασία πριν από το πάτημα κάθε φορά κ.λπ. κ.λπ... Ως αποτέλεσμα, αφού αφιέρωσα 2 ή 3 μήνες για την αυτοματοποίηση αυτής της διαδικασίας, πέτυχα αρκετές φορές μείωση του χρόνου που απαιτείται για την παραγωγή ενός σχεδίου. Επιπλέον, ήταν ευχάριστο να κοιτάζω τα πρόσωπα των συναδέλφων μου όταν συνέβησαν θαύματα μπροστά στα μάτια τους - οι γραμμές σχεδιάστηκαν και μετακινήθηκαν μόνες τους στην οθόνη, τα βέλη ευθυγραμμίστηκαν και λύγισαν, όλα έλαμψαν και ένα λεπτό αργότερα έβγαζα ήδη μια δισκέτα από τον υπολογιστή, έτοιμη για αποστολή στο τυπογραφείο (με δύο αντίγραφα του αρχείου, εντελώς έτοιμα για εκτύπωση)

Έξω ήταν καλοκαίρι 2008 έτος. Δεν είχα τίποτα καλύτερο να κάνω, γι' αυτό αποφάσισα να βοηθήσω άτομα που ήρθαν στα φόρουμ για συμβουλές σχετικά με την επίλυση προβλημάτων στο Excel. Γρήγορα ασχολήθηκα με αυτό - ήταν ωραίο να ακούω ευγνωμοσύνη από ανθρώπους για τους οποίους το "μαγικό κουμπί" μου εξοικονομούσε πολλές ώρες του ίδιου τύπου εργασίας. Επιπλέον, η βοήθεια απαιτούσε πολύ λίγη προσπάθεια - μερικές φορές ήταν αρκετό να γράψετε 2-3 γραμμές κώδικα. Τότε άρχισα να συνειδητοποιώ ότι οι γνώσεις μου για το VBA και το Excel ήταν ακόμα πολύ, πολύ φτωχές, και άρχισα να μαθαίνω, κατανοώντας τις λύσεις που πρότειναν πιο έμπειροι συνάδελφοι.

Χρειάστηκαν 2 ή 3 χρόνια, κατά τη διάρκεια των οποίων βοήθησα όλους στα φόρουμ, για να αρχίσουν να αισθάνονται σίγουροι για το Excel. Στην αρχή έγραψα πολύ απλές μακροεντολές, μετά πιο σύνθετες. Ένα χρόνο αργότερα, άρχισαν να επικοινωνούν μαζί μου για παραγγελίες - τότε ήμουν έτοιμος να δουλέψω για πένες (γιατί ο στόχος δεν ήταν να βγάλω χρήματα, αλλά να βοηθήσω τους ανθρώπους). Η πρώτη λίγο πολύ σοβαρή παραγγελία για την οποία πλήρωσα αμοιβή ήταν ένα πρόγραμμα για υπαλλήλους εισαγωγής - έπρεπε να εφαρμόσω μια βάση δεδομένων στο Excel. Σε 3 εβδομάδες βασανιστηρίων και επανάληψης (το πρόγραμμα παραγγέλθηκε από μια μαθήτρια που η ίδια δεν ήξερε τι ακριβώς χρειαζόταν), το πρόγραμμα γράφτηκε - και κέρδισα περίπου 3.500 ρούβλια από αυτό. Από τότε δεν έχω δουλέψει με μαθητές - δεν υπάρχουν αρκετά χρήματα, δεν υπάρχουν τεχνικές προδιαγραφές, υπάρχουν πολλά αιτήματα για επανάληψη (επειδή κάτι δεν άρεσε στον δάσκαλο) και γενικά είναι δυσάρεστο να συνειδητοποιείς ότι το πρόγραμμα θα κυκλοφορήσει μόνο μία φορά και στη συνέχεια κανείς δεν θα το χρησιμοποιήσει.

ΣΕ 2009 έτος έφτιαξα μια ιστοσελίδα. Θα μπορούσε να ονομαστεί μόνο ιστότοπος με έκταση - αποτελούταν από μία σελίδα (έτσι έμοιαζε εκείνη την εποχή). Όπως καταλαβαίνετε, δεν θα μπορούσε να υπάρξει κανένα όφελος από έναν τέτοιο ιστότοπο - όσοι επισκέφτηκαν τον ιστότοπο γνώριζαν ήδη τι έκανα. Αλλά ήθελα περισσότερα - για να ωφελήσει ο ιστότοπος τόσο εμένα όσο και τους επισκέπτες του. Ως εκ τούτου, έπρεπε επειγόντως να μελετήσω την κατασκευή ιστοτόπων - και, χάρη στη βοήθεια ενός φίλου, λίγους μήνες αργότερα ο ιστότοπος απέκτησε μια μηχανή με τη μορφή CMS Drupal (δεν θα μπορούσα να το κάνω μόνος μου). Δεν είχα καταλάβει ακόμα τι να δημοσιεύσω στον ιστότοπο, οπότε άρχισα να το χρησιμοποιώ ως σημειωματάριο - δημοσιεύοντας χρήσιμες καθολικές μακροεντολές και λειτουργίες εκεί, ώστε να μην χρειάζεται να τις αναζητώ σε διαφορετικά αρχεία κάθε φορά, θυμίζοντας πότε και στους οποίους έκανα παρόμοια πράγματα.

Λιγότερο από έξι μήνες αργότερα, η επισκεψιμότητα του ιστότοπου άρχισε να αυξάνεται. Αποδείχθηκε ότι οι μακροεντολές που δημοσίευσα ήταν ενδιαφέρουσες για πολλούς και αυτό μου έδωσε ένα κίνητρο να αναπτύξω περαιτέρω τον πόρο - άρχισα να δημοσιεύω έτοιμες λύσεις με τη μορφή αρχείων Excel και πρόσθετων και έδωσα μεγαλύτερη προσοχή στο λειτουργικότητα και δομή του ιστότοπου. Ταυτόχρονα, ο αριθμός των παραγγελιών άρχισε να αυξάνεται - οι επισκέπτες του ιστότοπου είδαν ότι οι δυνατότητες των μακροεντολών ήταν απεριόριστες και επικοινώνησαν μαζί μου με αίτημα να αυτοματοποιήσουν την εργασία τους. Όμως, παρόλα αυτά, υπήρχαν πολύ λίγες παραγγελίες για να εξετάσουμε σοβαρά τον προγραμματισμό ως πηγή εισοδήματος - υπήρχαν 2-3 μικρές παραγγελίες το μήνα. Ακόμα κι αν παρήγγειλαν ένα σχετικά περίπλοκο πρόγραμμα, δεν έφερε χαρά - λόγω της απειρίας μου, συμφώνησα αμέσως για το ποσό και στη συνέχεια, από την καλοσύνη της καρδιάς μου, συμφώνησα σε διάφορες τροποποιήσεις που δεν περιλαμβάνονταν στο πρωτότυπο ανάθεση για το πρόγραμμα. Ως αποτέλεσμα αυτού, δούλεψα για εβδομάδες σε ένα πρόγραμμα και κέρδισα πολύ λίγα - αφού αρχικά υποτίθεται ότι υπήρχαν πολύ λίγα που έπρεπε να γίνουν.

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

Και άρχισα να σκέφτομαι πώς να αυξήσω τον αριθμό των παραγγελιών - ήθελα το χόμπι μου να αρχίσει επιτέλους να δημιουργεί απτά έσοδα. Και πάλι έπρεπε να ασχοληθώ με την κατασκευή ιστοτόπων - να κατακτήσω τα βασικά του SEO, του σχεδιασμού και της κατασκευής ιστοτόπων γενικά. Και μια μέρα συνειδητοποίησα τι έλειπε ακόμα στον ιστότοπο - ένα μεγάλο κουμπί για την παραγγελία. Χωρίς να το σκεφτώ δύο φορές, μέσα σε 5 λεπτά αυτό το κουμπί (το οποίο μπορείτε τώρα να δείτε στην επάνω αριστερή γωνία της σελίδας) προστέθηκε σε όλες τις σελίδες του ιστότοπου. Το αποτέλεσμα δεν άργησε να έρθει - μέσα σε ένα μήνα έλαβα περισσότερες παραγγελίες από ό,τι τον προηγούμενο χρόνο.

Έφτασε 2012 έτος. Ο αριθμός των παραγγελιών μεγάλωσε σε τέτοιο όγκο που δεν υπήρχε τρόπος να τις χειριστώ μόνη μου. Άρχισα να μεταφέρω κάποιες από τις παραγγελίες στους συναδέλφους μου (ειδικά μεγάλες και σύνθετες παραγγελίες), επειδή ακόμα δεν μπορώ να κερδίσω όλα τα χρήματα και δεν θέλω πραγματικά να κάθομαι στην οθόνη για μέρες. Ταυτόχρονα, στην κύρια δουλειά μου (από τις 8:00 έως τις 17:00 δούλευα ως μηχανικός σε τοπικό πάροχο Διαδικτύου), ο φόρτος εργασίας αυξήθηκε αισθητά και δεν είχα πλέον χρόνο να γράφω μακροεντολές κατά τις ώρες εργασίας. Ως αποτέλεσμα, δεν έμεινε χρόνος για την ανάπτυξη του ιστότοπου - τα βράδια είχα μόνο χρόνο να διευθετήσω ορισμένες από τις παραγγελίες και άρχισαν να συσσωρεύονται αδιάβαστα γράμματα στο ταχυδρομείο.

Ήταν καιρός να αλλάξω κάτι στη ζωή μου - να κάνω μια επιλογή μεταξύ δουλειάς και προγραμματισμού. Και έτσι, στα μέσα Ιουλίου 2012, έκανα αυτή την επιλογή - έγραψα μια επιστολή παραίτησης από την κύρια δουλειά μου, αποφασίζοντας να αφοσιωθώ στον προγραμματισμό (ανάπτυξη μακροεντολών για το Excel). Από τότε, έχω περισσότερο από αρκετό ελεύθερο χρόνο, οπότε σκοπεύω να ξεκινήσω ξανά να επεκτείνω τον ιστότοπο και να εργάζομαι πιο ενεργά στις παραγγελίες (για να εξαλείψω καταστάσεις όπου οι πελάτες περίμεναν αρκετές εβδομάδες για τις μακροεντολές τους).
Δεν ξέρω ακόμα τι θα γίνει από όλα αυτά, ο χρόνος θα δείξει. Νομίζω ότι η ζήτηση για μακροεντολές για το Excel θα συνεχιστεί για τουλάχιστον άλλα 2-3 χρόνια, οπότε δεν θα μείνω χωρίς ψωμί και βούτυρο.

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

<спустя 4 года, решил продолжить статью>

Και τώρα είναι ήδη στην αυλή 2016 έτος. Προς χαρά μου, η Microsoft δεν έχει ακόμη εγκαταλείψει την υποστήριξη για VBA στο Excel, επομένως συνεχίζω να εργάζομαι σε αυτόν τον τομέα. Αυτά τα 4 χρόνια άλλαξαν πολύ τη ζωή μου - το εισόδημά μου αυξήθηκε αρκετές φορές, άρχισα να ταξιδεύω πολύ και είχα λιγότερο χρόνο να δουλέψω. Ο αριθμός των παραγγελιών για μακροεντολές αυξανόταν συνεχώς, οπότε άρχισα να συνεργάζομαι με αρκετούς προγραμματιστές, στους οποίους μετέφερα παραγγελίες όταν δεν μπορούσα να αντεπεξέλθω ο ίδιος λόγω έλλειψης χρόνου. Μερικοί από τους συναδέλφους μου (στους οποίους έδινα εντολές για δουλειά) εξαφανίστηκαν με τον καιρό, ενώ άλλοι, αντίθετα, συνεργάζονταν μαζί μου όλο και πιο ενεργά - και τώρα έχω μια ομάδα που λύνει τυχόν προβλήματα (ένας συνάδελφος παίρνει απλές μακροεντολές και κάνει τα γρήγορα, ένας άλλος φτιάχνει πολύπλοκες μακροεντολές χρησιμοποιώντας μη τυπικές λύσεις, ο τρίτος ασχολείται με «σκοτεινές» παραγγελίες τόμου, όπου πρέπει να συζητήσετε την εργασία για μερικές εβδομάδες και μετά να το κάνετε για άλλον ένα μήνα, ο τέταρτος ειδικεύεται σε τύπους, ο πέμπτος ρυθμίζει αναλυτές κ.λπ. - το καθένα έχει τη δική του περιοχή δραστηριότητας).

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

Δεδομένου ότι κατάφερα να απαλλαγώ από τον «τζίρο» (ένας μεγάλος αριθμός μικρών παραγγελιών, αν και φέρνουν καλό εισόδημα, αλλά καταλαμβάνουν το 100% του χρόνου μου), άρχισα να δίνω μεγαλύτερη προσοχή στην ανάπτυξη και την προώθηση της καθολικής προσθήκης -in για το Excel. Τώρα έχω 9 τέτοια πρόσθετα στο οπλοστάσιό μου, αλλά μόνο 5 πωλούνται με επιτυχία: FillDocuments (η πρώτη μου δουλειά, μέχρι πρόσφατα, ήταν μεταξύ των κορυφαίων στο εισόδημα και έχει σταθερή ζήτηση, αφού όλα όσα θα μπορούσαν να είναι χρήσιμα για τους χρήστες η συμπλήρωση εγγράφων έχει ήδη εφαρμοστεί εκεί) , PastePictures (πωλήθηκε από το 2012, αλλά άρχισε να κερδίζει δημοτικότητα σχετικά πρόσφατα), Unification (πριν από 3 χρόνια αυτό ήταν το πιο περίπλοκο από τα προγράμματά μου), Αναζήτηση (το πιο απλό από τα πρόσθετά μου , ουσιαστικά αντικατάσταση της φόρμουλας VLOOKUP, αλλά πολύ δημοφιλής στους χρήστες) και Parser (ένας καθολικός αναλυτής για τη συλλογή δεδομένων από τοποθεσίες και αρχεία, το πιο εξελιγμένο από τα προγράμματά μου μέχρι σήμερα - 17.600 γραμμές κώδικα). Όσον αφορά τον αναλυτή, το 2013 η ιδέα να κάνω κάτι τέτοιο μου φαινόταν απολύτως μη ρεαλιστική (και αρνήθηκα πελάτες, μιλώντας για την αδυναμία δημιουργίας μιας καθολικής λύσης για ιστότοπους όπως το Unification - ένα πρόγραμμα επεξεργασίας τιμών), αλλά στη συνέχεια το ο αριθμός των παραγγελιών για αναλυτές ιστότοπων άρχισε να αυξάνεται και αποφάσισα να το δοκιμάσω, κάτι που δεν μετάνιωσα ποτέ - τα έσοδα από λύσεις που βασίζονται σε αυτό το πρόσθετο ξεπέρασαν όλες τις προσδοκίες μου.

Αλλά δεν ήταν όλα τα προγράμματα επιτυχημένα. Αρνήθηκα εντελώς να πουλήσω ένα πρόγραμμα (YandexMarket) - ο ιστότοπος άλλαζε πολύ συχνά, το πρόγραμμα απαιτούσε βελτιώσεις, ο αλγόριθμος για την εύρεση των απαραίτητων δεδομένων δεν ήταν προφανής, στη συνέχεια εμφανίστηκε ένα captcha - και αποφάσισα ότι δεν άξιζε να χάσω χρόνο για περαιτέρω ανάπτυξη του προγράμματος, επιστρέφοντας τα χρήματα σε αρκετούς αγοραστές. Άλλα προγράμματα, όπως το BarcodeScanner, το Labels, το SearchText, αν και έχουν ανακτήσει το χρόνο που αφιερώθηκε στην ανάπτυξη και συνεχίζουν να παράγουν έσοδα, αλλά δεν μπορούν να συγκριθούν με τα πέντε κορυφαία προγράμματα.

Καθώς αναπτύχθηκαν τα καθολικά πρόσθετα που περιγράφονται παραπάνω, σχηματίστηκε η λεγόμενη «μηχανή» του προγράμματος - ένα σύνολο μακροεντολών και στοιχείων διεπαφής που σας επιτρέπει να δημιουργήσετε γρήγορα μια έτοιμη προς πώληση λύση από οποιαδήποτε ιδέα. Στην αρχή ο κινητήρας χρειαζόταν για την υποστήριξη ενημερώσεων (ώστε ο χρήστης να μπορεί να ελέγξει και να εγκαταστήσει μια ενημέρωση με ένα κλικ), αργότερα απέκτησε λειτουργικότητα ασφαλείας (οι χάκερ άρχισαν να δίνουν προσοχή στις λύσεις μου, καθώς η ζήτηση γι' αυτές μεγάλωνε κάθε χρόνο, και Έπρεπε να εφεύρω διάφορα συστήματα προστασίας από παράνομη χρήση, παρά το γεγονός ότι η ενσωματωμένη προστασία κώδικα στο Excel δεν είναι καλή, επειδή μπορεί να αφαιρεθεί σε λίγα δευτερόλεπτα). Στην πορεία, έπρεπε να δημιουργήσω λειτουργικότητα για την ενεργοποίηση και την ενημέρωση προγραμμάτων από την πλευρά του ιστότοπου, άρχισα να καταλαβαίνω λίγο για την PHP και τη MySQL, δημιουργώντας σενάρια που αλληλεπιδρούν με τη μηχανή του προγράμματος.

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

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

<продолжение следует>

Οδηγίες

Εκκινήστε το Microsoft Office Excel. Εάν είναι απαραίτητο, δημιουργήστε ένα νέο έγγραφο. Για να το κάνετε αυτό, πατήστε Ctrl+N ή αναπτύξτε το μενού "Αρχείο" και επιλέξτε "Νέο...". Στη συνέχεια, κάντε κλικ στο σύνδεσμο «Κενό βιβλίο» στον πίνακα «Δημιουργία βιβλίου».

Ανοίξτε ένα παράθυρο Visual Basic Editor. Για να το κάνετε αυτό, πατήστε το συνδυασμό πλήκτρων Alt+F11 ή επιλέξτε "Visual Basic Editor" στην ενότητα "Macro" του μενού "Tools". Εκεί, θα δείτε ένα πλαίσιο έργου που εμφανίζει το δέντρο αντικειμένων για αυτό το βιβλίο εργασίας του Excel, καθώς και τις φόρμες, τις λειτουργικές μονάδες και τις ενότητες κλάσης που περιέχει.

Δημιουργήστε φόρμες εάν χρειάζεται. Στο κύριο μενού, κάντε κλικ στο Εισαγωγή και, στη συνέχεια, στο UserForm. Ένα νέο στοιχείο θα προστεθεί στην ενότητα Φόρμες του πίνακα έργου. Όταν δημιουργηθεί, η φόρμα θα ανοίξει αυτόματα. Χρησιμοποιήστε το ποντίκι σας για να σύρετε στοιχεία ελέγχου από την Εργαλειοθήκη στο παράθυρο της φόρμας. Αλλάξτε το μέγεθος και τη θέση τους. Αφού τα επιλέξετε με το ποντίκι, αλλάξτε τις ιδιότητές τους στον πίνακα Ιδιότητες. Αποθηκεύστε τις φόρμες πατώντας Ctrl+S.

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

Προσθήκη δηλώσεων κλάσης σε ενότητες κλάσης. Ορίστε τα χρησιμοποιώντας τη λέξη-κλειδί Class:
ClassCSampleClass
Τελική τάξη

Προσθήκη μεθόδων στους ορισμούς κλάσεων και συναρτήσεων και διαδικασιών προτύπων σε ενότητες. Οι συναρτήσεις δηλώνονται χρησιμοποιώντας τη λέξη-κλειδί Function, ακολουθούμενες από ένα όνομα και ένα σύνολο παραμέτρων, διαχωρισμένα με κόμματα, που περικλείονται σε παρένθεση. Για παράδειγμα:
Συνάρτηση SampleFunction(a, b, c)
Λειτουργία τερματισμού
Οι διαδικασίες δηλώνονται με παρόμοιο τρόπο (μόνο χρησιμοποιώντας τη λέξη-κλειδί Sub):
Υποδειγματική διαδικασία(α, β)
End Sub

Δηλώστε μέλη κλάσης, καθώς και καθολικές και τοπικές (σε συναρτήσεις και μεθόδους) μεταβλητές. Για να το κάνετε αυτό, χρησιμοποιήστε τον όρο Dim...As (ο τύπος της μεταβλητής υποδεικνύεται μετά τη λέξη-κλειδί As). Για παράδειγμα, μια δήλωση μιας μεταβλητής oWB που αποθηκεύει μια αναφορά σε ένα αντικείμενο βιβλίου μπορεί να μοιάζει με αυτό:
Dim oWB As Excel.Workbook
Καθορίζοντας τη διάσταση σε παρένθεση, μπορείτε να δηλώσετε έναν πίνακα:
Dim aWBooks(10) As Excel.Workbook

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

Πηγές:

  • πώς να δημιουργήσετε ένα έγγραφο στο excel

Η Visual Basic είναι ένα περιβάλλον ανάπτυξης λογισμικού που αναπτύχθηκε από τη Microsoft και περιλαμβάνει μια γλώσσα προγραμματισμού. Κληρονόμησε το στυλ και εν μέρει τη σύνταξη της προκατόχου της, της ΒΑΣΙΚΗς γλώσσας. Το περιβάλλον ανάπτυξης της Visual Basic περιλαμβάνει εργαλεία για εργασία με τη σχεδίαση διεπαφής χρήστη.

θα χρειαστείτε

  • - υπολογιστής
  • - εγκατεστημένο πρόγραμμα Visual Studio.
  • - δεξιότητες προγραμματισμού.

Οδηγίες

Εκκινήστε το Visual Studio, δημιουργήστε σχέδιογια να δημιουργήσετε ένα πρόγραμμα της Visual Basic. Για να το κάνετε αυτό, επιλέξτε το μενού "Αρχείο" και σε αυτό την εντολή "Δημιουργία". σχέδιο" Στο παράθυρο διαλόγου, επιλέξτε την επιλογή «Εφαρμογή Windows» και κάντε κλικ στο κουμπί «ΟΚ». Η φόρμα θα ανοίξει στη διεπαφή. Αθέτηση σχέδιοθα ονομάζεται WindowsApplication1. Ένα έργο της Visual Basic είναι ένα μέρος όπου αποθηκεύονται και οργανώνονται τμήματα ενός προγράμματος. Η μορφή που ανοίγει με τη δημιουργία σχέδιο a, αντιπροσωπεύει το παράθυρο που θα εμφανιστεί κατά την έναρξη του προγράμματος. Αντίστοιχα, εάν ένα πρόγραμμα έχει πολλά παράθυρα, σημαίνει ότι σχέδιοΜπορεί να περιέχει διάφορες μορφές.

Προσθέστε στοιχεία ελέγχου στη φόρμα από την Εργαλειοθήκη. Βρίσκεται στην αριστερή πλευρά του παραθύρου και περιέχει πολλές καρτέλες, συμπεριλαμβανομένων "Όλες οι φόρμες", "Στοιχεία", "Δεδομένα". Κάθε καρτέλα έχει ένα συγκεκριμένο σύνολο λειτουργιών που αντιπροσωπεύουν στοιχεία ελέγχου ή στοιχεία, τα οποία μπορούν να προστεθούν στην εφαρμογή κατά τη δημιουργία σχέδιοκαι στο Visual Studio.

Επιλέξτε την Εργαλειοθήκη, κάντε κλικ στην καρτέλα «Όλες οι φόρμες» και σύρετε το στοιχείο ελέγχου «Πίνακας» στην επάνω αριστερή γωνία της φόρμας σας. Ομοίως, μεταβείτε σε σχέδιοΣτοιχείο "Περιοχή κειμένου" του προγράμματος Visual Basic. Για να αλλάξετε τη θέση του, απλώς σύρετέ το με το αριστερό κουμπί του ποντικιού στην επιθυμητή θέση στη φόρμα.

Προσθέστε κουμπιά στα δεξιά του μπλοκ κειμένου με τον ίδιο τρόπο. Στη συνέχεια, επιλέξτε το στοιχείο που αντιστοιχεί στην ποικιλία σχέδιοκαι, για παράδειγμα, "Πρόγραμμα περιήγησης Ιστού" και τοποθετήστε το κάτω από τον πίνακα. Κάθε προστιθέμενο στοιχείο ελέγχου περιέχει ειδικό κωδικό που καθορίζει την εμφάνισή του καθώς και τις εργασίες που εκτελεί το στοιχείο ελέγχου. Μπορείτε να δημιουργήσετε τον δικό σας κώδικα, για παράδειγμα για ένα κουμπί, για να αλλάξετε την εμφάνισή του ή να προσθέσετε μια συγκεκριμένη εργασία, αλλά αυτή είναι μια διαδικασία εντατικής εργασίας. Είναι πολύ πιο εύκολο να το κάνετε αυτό με την επεξεργασία σχέδιοκαι στη Visual Basic.

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

Βίντεο σχετικά με το θέμα

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

Οδηγίες

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

Λίγοι γνωρίζουν ότι η πρώτη έκδοση του δημοφιλούς προϊόντος 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

Do while 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. Συγκεκριμένα, μπορείτε να δημιουργήσετε κουμπιά μενού γράφοντας, όπως φαίνεται στην αρχή του άρθρου, ή γράφοντας κώδικα, χάρη στον οποίο πολλές λειτουργίες στο κείμενο μπορούν να πραγματοποιηθούν πατώντας τα πλήκτρα λειτουργίας ή μέσω της καρτέλας "Προβολή" και το εικονίδιο "Μακροεντολές".



Ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: