VBA Τυχαιοποίηση | Πώς να χρησιμοποιήσετε το Randomize Statement;

Τυχαία δήλωση στο VBA

Η δήλωση VBA Randomize είναι μια απλή δήλωση μιας γραμμής που προσθέτουμε πριν εφαρμόσουμε τη συνάρτηση RND. Κάθε φορά που ανοίγει ξανά ένα βιβλίο εργασίας, η δήλωση Randomize παρέχει έναν νέο αριθμό σπόρου στη λειτουργία RND ανάλογα με την ώρα του συστήματος του υπολογιστή.

Πριν μιλήσω για τη δήλωση Randomize, επιτρέψτε μου να σας παρουσιάσω μια απλή λειτουργία RND με το VBA.

Ως συνάρτηση φύλλου εργασίας "RAND", στο VBA "RND" επίσης δημιουργούνται τυχαίοι αριθμοί που είναι μεγαλύτεροι από 0 αλλά λιγότερο από 1.

Τώρα ρίξτε μια ματιά στη σύνταξη της συνάρτησης "RND".

[Αριθμός]: Μπορούμε να περάσουμε το επιχείρημα με τρεις τρόπους.

  • Εάν περάσουμε τον αριθμό ως <0, συνεχίζει να δημιουργεί τον ίδιο τυχαίο αριθμό κάθε φορά.
  • Εάν περάσουμε τον αριθμό ως 0, θα επαναλάβει τον πιο πρόσφατο αριθμό που έχει δώσει.
  • Εάν περάσουμε τον αριθμό> 0, συνεχίζει να σας δίνει διαφορετικούς τυχαίους αριθμούς, δηλαδή τον επόμενο τυχαίο αριθμό στην ακολουθία.

Παράδειγμα

Για παράδειγμα δείτε τον παρακάτω κώδικα.

Κώδικας:

 Υπο RND_Example () Debug.Print Rnd End Sub 

Όταν εκτελώ τον κωδικό στο άμεσο παράθυρο, μπορώ να δω τον παρακάτω αριθμό.

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

Τώρα θα κλείσω το βιβλίο εργασίας και θα το ανοίξω ξανά.

Τώρα θα επιστρέψω στο παράθυρο του Visual Basic Editor.

Τώρα το άμεσο παράθυρο είναι άδειο και καθαρό.

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

Έχουμε τους ίδιους αριθμούς με τους παραπάνω.

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

Λοιπόν, πώς δημιουργούμε τυχαίους αριθμούς ανεξάρτητα από το αν το βιβλίο εργασίας άνοιξε ξανά ή όχι;

Πρέπει να χρησιμοποιήσουμε τη δήλωση "Τυχαιοποίηση".

Πώς να χρησιμοποιήσετε το VBA Randomize Statement;

Μπορείτε να πραγματοποιήσετε λήψη αυτού του προτύπου VBA Randomize Excel εδώ - Πρότυπο VBA Randomize Excel

Παράδειγμα # 1

Για να λάβουμε τυχαίους αριθμούς, το μόνο που χρειάζεται να κάνουμε είναι να προσθέσουμε το απλό μονόπλευρο "Randomize" πριν από τη λειτουργία RND.

Κώδικας:

 Υπο Randomize_1 () Randomize Debug.Print Rnd End Sub 

Τώρα θα τρέξω τον κωδικό 4 φορές και θα δω τι παίρνω.

Έχει δημιουργήσει τους παραπάνω αριθμούς στο τοπικό μου παράθυρο.

Τώρα θα κλείσω το αρχείο και θα ανοίξω ξανά το αρχείο.

Ως συνήθως, ξεκινάμε με μια καθαρή πλάκα στο οπτικό βασικό παράθυρο.

Τώρα θα εκτελέσω ξανά τον κώδικα και θα δω τι αριθμούς λαμβάνουμε αυτή τη φορά.

Ουάου!!! Αυτή τη φορά έχουμε διαφορετικούς αριθμούς.

Δεδομένου ότι προσθέσαμε τη δήλωση Randomize πριν από τη συνάρτηση RND, λαμβάνουμε διαφορετικούς τυχαίους αριθμούς κάθε φορά που ανοίγουμε ξανά το αρχείο.

Αυτό μοιάζει με τυχαίο αριθμό, έτσι δεν είναι ;;;

Παράδειγμα # 2

Τυχαίοι αριθμοί μεγαλύτεροι από έναν

Όπως έχουμε δει, η λειτουργία "RND" μπορεί να δημιουργήσει αριθμούς μόνο από 0 έως 1. Αλλά για να δημιουργήσουμε αριθμούς μεγαλύτερους από έναν τυχαίο αριθμό πρέπει να χρησιμοποιήσουμε το "RANDOM ANTWEEN" που είναι διαθέσιμο με την κλάση λειτουργίας φύλλου εργασίας.

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

Κώδικας:

 Υπο Randomize_2 () Randomize Debug.Print Rnd * 100 End Sub 

Τώρα θα εκτελέσω τον κώδικα και θα δω τι παίρνουμε.

Έτσι, μπορούμε να χρησιμοποιήσουμε τη δήλωση "Randomize" στο VBA για να δημιουργήσουμε τυχαίους αριθμούς κάθε φορά που ανοίγουμε ξανά το αρχείο excel.