300 Beispiele

Daten zufällig sortieren

Randomly Sort Data

Im Folgenden sehen wir uns ein Programm in an Excel VBA das sortiert Daten nach dem Zufallsprinzip (in diesem Beispiel werden die Namen zufällig sortiert).



Situation:

Daten nach dem Zufallsprinzip in Excel VBA sortieren





1. Zuerst deklarieren wir vier Variablen. Eine Variable vom Typ String nennen wir TempString, eine Variable vom Typ Integer nennen wir TempInteger, eine Variable vom Typ Integer nennen wir i und eine Variable vom Typ Integer nennen wir j.

KeinertempStringWie Zeichenfolge, tempIntegerWie Ganze Zahl, ichWie Ganze Zahl, JWie Ganze Zahl

2. Wir schreiben 5 Zufallszahlen in Spalte B (eine für jeden Namen). Dazu verwenden wir die Arbeitsblattfunktion RandBetween.



Zumich = 1Zu5
Cells(i, 2).Value = WorksheetFunction.RandBetween(0, 1000)
Nächsteich

Ergebnis bisher:

Ordnen Sie die folgenden Werte vom größten zum kleinsten

Ergebnis bisher

Wir werden die Zahlen neben jedem Namen verwenden, um die Namen zu sortieren. Der Name mit der niedrigsten Nummer zuerst, der Name mit der zweitniedrigsten Nummer, der zweite usw.

3. Wir beginnen a Doppelschleife .

Berechnen Sie die Anzahl der Arbeitstage zwischen zwei Daten
Zumich = 1Zu5
Zumj = i + 1Zu5

4. Fügen Sie die folgende Codezeile hinzu:

WennZellen(j, 2).WertDann

Beispiel: Für i = 1 und j = 2 werden Wendy und Richard verglichen. Da Richard eine niedrigere Nummer hat, tauschen wir Wendy und Richard. Richard ist jetzt an erster Stelle. Für i = 1 und j = 3 werden Richard und Joost verglichen. Joost hat eine höhere Nummer, damit nichts passiert. Auf diese Weise erhält Excel VBA den Namen mit der niedrigsten Nummer an der ersten Position. Für i = 2 erhält Excel VBA den Namen mit der zweitniedrigsten Zahl an zweiter Stelle usw.

5. Wenn wahr, wir Tauschen die Namen.

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

6. Und wir tauschen die Zahlen aus.

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

7. Vergessen Sie nicht, die If-Anweisung zu schließen.

Ende Wenn

8. Vergessen Sie nicht, die beiden Schleifen zu schließen.

NächsteJ
Nächsteich

9. Testen Sie das Programm.

So fügen Sie eine Gesamtzeile in Excel 2013 ein

Ergebnis:

Datenergebnis zufällig sortieren

Hinweis: Sie können eine Zeile hinzufügen, die die Zahlen in Spalte B löscht. Noch schöner ist es, die Zahlen jedes Namens in einem Array zu platzieren, damit keine Zahlen auf Ihrem Arbeitsblatt platziert werden. Zur Veranschaulichung haben wir uns jedoch dafür entschieden, die Werte auf dem Blatt zu platzieren.

8/11 abgeschlossen! Erfahren Sie mehr über Schleifen >
Gehe zum nächsten Kapitel: Makrofehler



^