Γραμμή προόδου VBA | Δημιουργήστε γράφημα προόδου χρησιμοποιώντας τον κώδικα VBA

Γραμμή προόδου του Excel VBA στο Excel

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

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

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

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

Στο excel to μπορούμε να δημιουργήσουμε το Progress Bar χρησιμοποιώντας κωδικοποίηση VBA. Εάν αναρωτηθήκατε ποτέ πώς μπορούμε να δημιουργήσουμε μια γραμμή προόδου, τότε αυτό είναι το άρθρο ειδικά σχεδιασμένο για εσάς.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο γραμμής προόδου VBA εδώ - Πρότυπο γραμμής προόδου VBA

Δημιουργήστε τη δική σας γραμμή προόδου

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

Βήμα 1: Δημιουργία ή εισαγωγή νέας φόρμας χρήστη.

Μόλις κάνετε κλικ στην παραπάνω επιλογή, θα δείτε μια φόρμα χρήστη όπως η παρακάτω.

Βήμα 2: Πατήστε το πλήκτρο F4 για να δείτε το παράθυρο ιδιοτήτων VBA.

Σε αυτήν την καρτέλα ιδιοτήτων, πρέπει να αλλάξουμε τις ιδιότητες της φόρμας χρήστη VBA που έχουμε εισαγάγει.

Βήμα 3: Αλλάξτε το όνομα της φόρμας χρήστη σε UFProgressBar.

Τώρα μπορούμε να παραπέμψουμε αυτήν τη φόρμα χρήστη με το όνομα "UFProgressBar" κατά την κωδικοποίηση.

Βήμα 4: Αλλάξτε το Εμφάνιση μοντέλου ιδιοτήτων της φόρμας χρήστη σε FALSE.

Βήμα 5: Τώρα προσαρμόστε την ευθυγράμμιση του χρήστη για να ταιριάζει στις ανάγκες σας. Έχω αλλάξει το ύψος της φόρμας χρήστη σε 120 και πλάτος σε 300.

Βήμα 6: Αλλάξτε τη λεζάντα της φόρμας χρήστη σε "Γραμμή κατάστασης προόδου".

Βήμα 7: Τώρα από την εργαλειοθήκη της φόρμας χρήστη εισάγετε LABEL στη φόρμα χρήστη στην κορυφή.

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

Βήμα 8: Αλλάξτε το όνομα της ετικέτας σε "ProgessLabel".

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

Βήμα 10: Τώρα πρέπει να αλλάξουμε μερικές από τις ιδιότητες του Frame ώστε να φαίνεται ακριβώς το ίδιο με τη φόρμα χρήστη που έχουμε εισαγάγει.

Ιδιότητα 1: Αλλάξτε το όνομα του καρέ σε "ProgressFrame".

Ιδιότητα 2: Διαγράψτε τη λεζάντα και αφήστε την κενή.

Ιδιότητα 3: Αλλάξτε το ειδικό εφέ του καρέ σε 6 - fmSpecialEffectBump.

Μετά από όλες αυτές τις αλλαγές, η φόρμα χρήστη θα έχει την εξής μορφή.

Βήμα 11: Τώρα εισαγάγετε μια ακόμη ετικέτα. Αυτή τη φορά εισάγετε την ετικέτα ακριβώς μέσα στο πλαίσιο που έχουμε εισαγάγει.

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

Βήμα 12: Μετά την εισαγωγή της ετικέτας αλλάξτε τις ιδιότητες της ετικέτας ως εξής.

Ιδιότητα 1: Αλλάξτε το όνομα της ετικέτας σε "MainProgressLabel".

Ιδιότητα 2: Διαγράψτε τη λεζάντα.

Ιδιότητα 3: Αλλάξτε το χρώμα φόντου σύμφωνα με την επιθυμία σας.

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

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

Βήμα 13: Για να δημιουργήσετε το πλαίσιο, προσθέστε την παρακάτω μακροεντολή στο excel.

Κώδικας:

 Sub InitUFProgressBarBar () Με UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Show vbModeless End With 

Σημείωση: Το "UFProgressBar" είναι το όνομα που δίνεται στη φόρμα χρήστη και το "Bar" είναι το όνομα που δίνεται στο πλαίσιο που έχουμε δημιουργήσει και το "Text" είναι το όνομα που δίνεται στην ετικέτα μέσα στο πλαίσιο.

Τώρα, εάν εκτελέσετε αυτόν τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5, θα πρέπει να δείτε τη γραμμή προόδου σαν αυτήν.

Βήμα 14: Τώρα πρέπει να δημιουργήσουμε μια μακροεντολή για την εκτέλεση της εργασίας μας. Εκτελώ την εργασία εισαγωγής σειριακών αριθμών από το 1 έως το 5000. Μαζί με αυτόν τον κώδικα, πρέπει επίσης να διαμορφώσουμε το γράφημα ράβδου προόδου, κάτω από τον κωδικό είναι ο προσαρμοσμένος κώδικας για εσάς.

Κώδικας:

 Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1). Value = i CurrentUFProgressBar = i / 2500 BarWidth = UF Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Βρόχος UnFar UF