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

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

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

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

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

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

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

Στο excel to μπορούμε να δημιουργήσουμε το Progress Bar χρησιμοποιώντας κωδικοποίηση 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: Διαγράψτε τη λεζάντα και αφήστε την κενή.

Property 3: Change the Special Effect of the frame to 6 - fmSpecialEffectBump.

After all these changes, our user form should look like this.

Step 11: Now insert one more label. This time insert the label just inside the frame we have inserted.

While inserting the label, make sure the left side of the label exactly fits the frame we have inserted, as shown in the above image.

Step 12: After inserting the label change the properties of the label as follows.

Property 1: Change the name of the label to “MainProgressLabel.”

Property 2: Delete the caption.

Property 3: Change the background colour as per your wish.

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

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

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

Κώδικας:

Sub InitUFProgressBarBar () Με UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Show vbModeless End With
Σημείωση: Το "UFProgressBar" είναι το όνομα που δίνεται στη φόρμα χρήστη και το "Bar" είναι το όνομα που δίνεται στο πλαίσιο που έχουμε δημιουργήσει και το "Text" είναι το όνομα που δίνεται στην ετικέτα μέσα στο πλαίσιο.

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

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

Κώδικας:

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 Loop Υποφόρτωση UF

ενδιαφέροντα άρθρα...