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:
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 Zahl2. 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
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 DatenZumich = 1Zu5
Zumj = i + 1Zu5
4. Fügen Sie die folgende Codezeile hinzu:
WennZellen(j, 2).WertBeispiel: 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).ValueZellen(i, 1).Wert = Zellen(j, 1).Wert
Zellen(j, 1).Wert = tempString
6. Und wir tauschen die Zahlen aus.
tempInteger = Cells(i, 2).ValueZellen(i, 2).Wert = Zellen(j, 2).Wert
Zellen(j, 2).Wert = tempInteger
7. Vergessen Sie nicht, die If-Anweisung zu schließen.
Ende Wenn8. Vergessen Sie nicht, die beiden Schleifen zu schließen.
NächsteJNächsteich
9. Testen Sie das Programm.
So fügen Sie eine Gesamtzeile in Excel 2013 ein
Ergebnis:
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.
Gehe zum nächsten Kapitel: Makrofehler