Hallo!
Ich bin neu hier und hätte mal ne Frage zu ner Sortierung mit VBA.
Und zwar soll ich ein Programm schreiben welches verschiedene Umsätze einem Ranking unterzieht.
Hier mal die Aufgabenstellung:
In einer Tabelle sollen Umsätze einem Ranking unterzogen werden. Es soll dem höchsten Umsatz eine 1 zugeordnet werden, usw.
Anhand dieser Aufgabe erstellen Sie folgende Lösungen:
- In einer Tabelle sind die Spalten A und B (A=Name des Mitarbeiters, B=Umsatz des jeweiligen Mitarbeiters) gegeben. Geben Sie die Rankingzahlen in Spalte C aus.
- Schreiben Sie ein Makro welches das aktuelle Ranking wieder löscht, um neue Daten weiterer Mitarbeiter hinzuzufügen.
Soweit mal zur Aufgabenstellung. Ich habe mir überlegt die Daten aus der Spalte B (also die Umsätze) in ein Array zu schreiben welches dann sortiert wird und die jeweilige Positionierung in die jeweilige Zeile schreibt. (Er muss sich also merken welcher Wert wo steht).
Leider klappt das bei mir überhaupt nicht, da ich schon Probleme habe das Array zu erstellen, da er in der Arraydefinition einen festen Wert haben will - der Wert ändert sich ja aber immer, da die Anzahl der Werte (=Anzahl der Mitarbeiter/Umsätze) nicht festgelegt ist.
Hab das mal soweit geschrieben:
----
Dim IntI As Integer
Dim IntPosition As Integer
Dim Werte()
Sub Einlesen()
Cells(Rows.Count, 2).End(xlUp).Select
IntPosition = ActiveCell.Row
'MsgBox (IntPosition)
Dim Werte(IntPosition - 1)
For IntI = 2 To IntPosition
End Sub
-----
Die Position der Werte liest er schonma richtig aus, das Array lässt sich so aber nicht definieren. Von der Sortierung mal ganz zu schweigen.
Gibt es vielleicht eine leichter Lösung anstatt eines Arrays?
Hoffe es kann mir jemand weiterhelfen!
Vielen Dank im Voraus!
Gruß Julian |