Ιδιότητα Excel VBA StatusBar - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

ο Ιδιοκτησία StatusBar του αντικειμένου Application in Excel VBA μπορεί να χρησιμοποιηθεί για να δείξει την πρόοδο μιας μακροχρόνιας μακροεντολής. Με αυτόν τον τρόπο, μπορείτε να ενημερώσετε το χρήστη ότι εξακολουθεί να εκτελείται μια μακροεντολή.

Κατάσταση:

Η μακροεντολή που πρόκειται να δημιουργήσουμε γεμίζει το εύρος ("A1: E20") με τυχαίους αριθμούς.

Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολών:

1. Αρχικά, δηλώνουμε τρεις μεταβλητές τύπου Integer, με όνομα i, j και pctCompl.

Dim i ως ακέραιος, j ως ακέραιος, pctCompl ως ακέραιος

2. Προσθέστε ένα διπλό βρόχο.

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

Προσθέστε τις ακόλουθες γραμμές κώδικα (στα 3, 4 και 5) στον βρόχο.

3. Χρησιμοποιήστε τη συνάρτηση RandBetween για να εισαγάγετε έναν τυχαίο αριθμό μεταξύ 20 και 100.

Κελιά (i, j). Value = WorksheetFunction.RandBetween (20, 100)

4. Αρχικοποιήστε τη μεταβλητή pctCompl. Η δεύτερη γραμμή κώδικα γράφει την τιμή της μεταβλητής pctCompl και κάποιο περιγραφικό κείμενο στη γραμμή κατάστασης.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Εισαγωγή δεδομένων …" & pctCompl & "% Ολοκληρώθηκε"

Παράδειγμα: Για i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% έχει ολοκληρωθεί.

5. Χρησιμοποιούμε τη μέθοδο Wait του αντικειμένου Application για να προσομοιώσουμε μια μακροχρόνια μακροεντολή.

Application.Wait Now + TimeValue ("00:00:01")

6. Για να επαναφέρετε το προεπιλεγμένο κείμενο της γραμμής κατάστασης, ορίστε την ιδιότητα StatusBar σε False (εκτός του βρόχου).

Application.StatusBar = Λάθος

Αποτέλεσμα όταν κάνετε κλικ στο κουμπί εντολών στο φύλλο:

Σημείωση: Μπορείτε να διακόψετε μια μακροεντολή ανά πάσα στιγμή πατώντας Esc ή Ctrl + Break. Για μια πιο οπτική προσέγγιση, ανατρέξτε στο πρόγραμμα Δείκτης προόδου.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave