Τυχαία ταξινόμηση δεδομένων στο Excel VBA - Εύκολες μακροεντολές Excel

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

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι ταξινομεί τυχαία τα δεδομένα (σε αυτό το παράδειγμα ταξινομεί τυχαία ονόματα).

Κατάσταση:

1. Αρχικά, δηλώνουμε τέσσερις μεταβλητές. Μία μεταβλητή τύπου String ονομάζουμε TempString, μία μεταβλητή τύπου Integer ονομάζουμε TempInteger, μία μεταβλητή τύπου Integer ονομάζουμε i και μία μεταβλητή τύπου Integer ονομάζουμε j.

Dim tempString As String, tempInteger As Integer, i As Integer, j As Integer

2. Γράφουμε 5 τυχαίους αριθμούς στη στήλη Β (ένας για κάθε όνομα). Χρησιμοποιούμε τη συνάρτηση φύλλου εργασίας RandBetween για αυτό.

Για i = 1 έως 5
Κελιά (i, 2). Value = WorksheetFunction.RandBetween (0, 1000)
Επόμενο i

Αποτέλεσμα μέχρι στιγμής:

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

3. Ξεκινάμε ένα Double Loop.

Για i = 1 έως 5
Για j = i + 1 έως 5

4. Προσθέστε την ακόλουθη γραμμή κωδικού:

Αν Κελιά (j, 2). Αξία <Κελιά (i, 2). Αξία Τότε

Παράδειγμα: για i = 1 και j = 2, συγκρίνονται οι Wendy και Richard. Επειδή ο Ρίτσαρντ έχει μικρότερο αριθμό, ανταλλάσσουμε τη Γουέντι και τον Ρίτσαρντ. Ο Ρίτσαρντ βρίσκεται στην πρώτη θέση τώρα. Για i = 1 και j = 3, ο Richard και ο Joost συγκρίνονται. Ο Joost έχει μεγαλύτερο αριθμό, οπότε δεν συμβαίνει τίποτα. Με αυτόν τον τρόπο, το Excel VBA παίρνει το όνομα με τον μικρότερο αριθμό στην πρώτη θέση. Για i = 2, το Excel VBA παίρνει το όνομα με τον δεύτερο χαμηλότερο αριθμό στη δεύτερη θέση κ.λπ.

5. Εάν ισχύει, αλλάζουμε τα ονόματα.

tempString = Κελιά (i, 1). Τιμή
Κελιά (i, 1). Αξία = Κελιά (j, 1). Αξία
Κελιά (j, 1). Αξία = tempString

6. Και ανταλλάσσουμε τους αριθμούς.

tempInteger = Κελιά (i, 2). Τιμή
Κελιά (i, 2). Αξία = Κελιά (j, 2). Αξία
Κελιά (j, 2) .Value = tempInteger

7. Μην ξεχάσετε να κλείσετε τη δήλωση If.

Τέλος εαν

8. Μην ξεχάσετε να κλείσετε τους δύο βρόχους.

 Επόμενο j
Επόμενο i

9. Δοκιμάστε το πρόγραμμα.

Αποτέλεσμα:

Σημείωση: μπορείτε να προσθέσετε μια γραμμή που διαγράφει τους αριθμούς στη στήλη Β. Είναι ακόμη πιο ωραίο να τοποθετείτε τους αριθμούς κάθε ονόματος σε έναν πίνακα, επομένως δεν τοποθετούνται αριθμοί στο φύλλο εργασίας σας. Ωστόσο, για επεξηγηματικό σκοπό επιλέξαμε να τοποθετήσουμε τις τιμές στο φύλλο.

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

wave wave wave wave wave