/ / / Τυχαία ταξινόμηση δεδομένων στο Excel VBA

Τυχαία ταξινόμηση δεδομένων στο Excel VBA

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

Κατάσταση:

Τυχαία ταξινόμηση δεδομένων στο 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 για αυτό.

For i = 1 To 5
    Cells(i, 2).Value = WorksheetFunction.RandBetween(0, 1000)
Next i

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

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

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

3. Ξεκινάμε ένα διπλό βρόχο.

For i = 1 To 5
    For j = i + 1 To 5

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

If Cells(j, 2).Value < Cells(i, 2).Value Then

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

5. Εάν είναι αληθές, αλλάζουμε τα ονόματα.

tempString = Cells(i, 1).Value
Cells(i, 1).Value = Cells(j, 1).Value
Cells(j, 1).Value = tempString

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

tempInteger = Cells(i, 2).Value
Cells(i, 2).Value = Cells(j, 2).Value
Cells(j, 2).Value = tempInteger

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

End If

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

    Next j
Next i

9. Ελέγξτε το πρόγραμμα.

Αποτέλεσμα:

Τυχαία Ταξινόμηση Αποτέλεσμα Δεδομένων

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

Επίσης διαβάστε: