λογισμικό

    没有任何同级栏目
Γνώση Υπολογιστών >> λογισμικό >

Πώς μπορείτε να βάλετε ένα μετρητή στο έργο VBA από το Excel;

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

1. Χρησιμοποιώντας μεταβλητή σε επίπεδο μονάδας:

Αυτή είναι η απλούστερη προσέγγιση για έναν παγκόσμιο μετρητή που παραμένει σε όλη τη διάρκεια της συνόδου VBA (μέχρι να κλείσει το αρχείο Excel).

`` `vba

Ρητή επιλογή

Ιδιωτικός μετρητής όσο το δυνατόν περισσότερο "Δηλώστε τη μεταβλητή μετρητή

Sub incrementCounter ()

Counter =Counter + 1

MSGBOX "Counter Value:" &Counter

Τερματισμός

Sub ResetCounter ()

μετρητής =0

Msgbox "counter reset σε 0"

Τερματισμός

`` `

* `Επιλογή explicit`: Αυτό είναι ζωτικής σημασίας για καλές πρακτικές κωδικοποίησης. Σας αναγκάζει να δηλώσετε ρητά όλες τις μεταβλητές.

* `Private Counter as Long`: Αυτό δηλώνει μια μεταβλητή που ονομάζεται `counter 'τύπου` long' (ένας μακρύς ακέραιος), ο οποίος μπορεί να κρατήσει μεγαλύτερους αριθμούς από τον `ακέραιο». Η λέξη -κλειδί «ιδιωτική» το καθιστά προσβάσιμο μόνο μέσα στην ενότητα στην οποία δηλώνεται.

* `incrementCounter` και` resetcounter` υπορουτίνες: Αυτά δείχνουν πώς να αυξήσουν και να επαναφέρουν τον πάγκο.

2. Χρησιμοποιώντας ένα κυψέλη φύλλου εργασίας ως μετρητή:

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

`` `vba

Sub IncrementWorkSheetCounter ()

Dim WS ως φύλλο εργασίας

SET ws =thisworkbook.sheets ("sheet1") 'Αλλαγή "φύλλο1" στο όνομα του φύλλου σας

WS.Range ("A1"). Value =WS.Range ("A1"). Τιμή + 1 'Αύξηση του μετρητή στο κελί A1

Msgbox "Counter Value:" &Ws.Range ("A1").

Τερματισμός

Sub ResetWorkSheetCounter ()

Dim WS ως φύλλο εργασίας

SET ws =thisworkbook.sheets ("sheet1") 'Αλλαγή "φύλλο1" στο όνομα του φύλλου σας

WS.Range ("A1"). Value =0

Msgbox "counter reset σε 0"

Τερματισμός

`` `

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

3. Χρησιμοποιώντας μια μονάδα κλάσης για έναν πιο ενθυλακωμένο μετρητή:

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

`` `vba

«Σε μια μονάδα κλάσης (π.χ., ονομάζεται" counterclass ")

Ρητή επιλογή

Ιδιωτική αντεπίθεση για πολύ καιρό

Η δημόσια ιδιοκτησία παίρνει counter () πολύ καιρό

Counter =Countervalue

Τελική ιδιοκτησία

Δημόσιο υποκείμενο ()

Countervalue =CounterValue + 1

Τερματισμός

Δημόσιο sub reset ()

αντεπίθεση =0

Τερματισμός

«Σε μια τυποποιημένη ενότητα

Sub usecounterClass ()

Dim MyCounter ως αντιπαραθέσεις

Ορίστε mycounter =νέα αντιπαραθέσεις

mycounter.increment

Debug.print "Counter Value:" &MyCounter.counter

mycounter.increment

Debug.print "Counter Value:" &MyCounter.counter

mycounter.reset

Debug.print "Counter Value:" &MyCounter.counter

Ορίστε myCounter =τίποτα «σημαντικό:απελευθερώστε το αντικείμενο από τη μνήμη

Τερματισμός

`` `

* Πλεονεκτήματα της μονάδας κλάσης: Καλύτερη οργάνωση κώδικα, επαναχρησιμοποίηση (μπορείτε να δημιουργήσετε πολλαπλά αντικείμενα αντίθεσης) και να κρύβετε τα δεδομένα (το `countervalue` είναι ιδιωτικό).

Επιλογή της σωστής προσέγγισης:

* Μεταβλητή επιπέδου μονάδας: Απλούστερη για έναν ενιαίο, προσωρινό μετρητή σε μία μόνο συνεδρία VBA.

* φύλλο εργασίας: Καλύτερο για εμμονή σε όλες τις συνεδρίες του Excel, αλλά λιγότερο κομψή από την άποψη κωδικοποίησης.

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

Θυμηθείτε να αντικαταστήσετε το "Sheet1" "με το πραγματικό όνομα του φύλλου εργασίας σας εάν χρησιμοποιείτε τη μέθοδο κυττάρων φύλλου εργασίας. Επιλέξτε την προσέγγιση που ταιριάζει καλύτερα στις ανάγκες σας και το στυλ κωδικοποίησης. Για τις περισσότερες εφαρμογές πέρα από τους απλούς μετρητές, η χρήση μιας μονάδας κλάσης συνιστάται ιδιαίτερα για καλύτερη οργάνωση και συντήρηση.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα