Hallo liebe Forum user:stuck_out_tongue:
Ich habe ein Problem welches Ich nicht alleine Lösen kann.
ich habe ein Array(25,100)
Das Array sieht wie Folgt aus:
peter ja nein ja 10.10.2001
Hans ja ja nein 11.02.2002
Peter nein nein ja 12.12.2001
günter ja ja ja 10.09.2003
Franzi nein ja nein 09.04.2002
Peter ja ja ja 03.04.2004
Nun möchte ich das Array aufräumen und jede Person nurnoch einmal drin haben, Wichtig ist aber das nur der Eintrag mit dem Aktuellsten Datum drin bleibt das wäre also oben die zeile
Peter ja ja ja 03.04.2004
die anderen beiden müssen aus dem Array gelöscht werden.
Das soll natürlich mit allen anderen Personen auch so gemacht werden.
Nun möchte ich das Array aufräumen und jede Person nurnoch
einmal drin haben, Wichtig ist aber das nur der Eintrag mit
dem Aktuellsten Datum drin bleibt das wäre also oben die zeile
Ich würde zuerst ein neues Array erstellen. Dann mit einer Schleife durch das gesamte alte Array laufen. Jeden Eintrag überprüfst du dann, ob er im Neuen schon vorkommt. Wenn nein, dann kopiere den Eintrag. Wenn ja, dann überprüfe noch auf das Datum.
In Pseudocode also etwa so:
AltesArray(25,100)
NeuesArray(25,100)
For Each Zeile In AltesArray
If NeuesArray.contains(Zeile.Name) Then
If NeuesArray.IndexOf(Zeile.Name).Datum
Ich hoffe, ich konnte das Verfahren einigermaßen beschreiben.
mfg
christoph
If Zähler2 = 0 Then
For i = 0 To 28
neuesArray(i, 1) = ImportArray(i, 2)
neuesArrayCounter = 1
Next i
End If
i = 1
For i = 1 To neuesArrayCounter
For Zähler1 = 2 To Zeilenanzahl2
If neuesArray(1, i) = ImportArray(1, Zähler1) Then
If neuesArray(25, i) >= ImportArray(25, Zähler1) Then
Else
For i = 0 To 28
neuesArray(i, 1) = ImportArray(i, 2)
Next i
End If
End If
Next Zähler1
Next i
und nun möchte ich schauen ob in Spalte 0 etwas doppelt ist und wenn ja möchte ich den eintrag der in Spalte 4 (Datum) am neusten ist behalten alle anderen raus.
der Fragesteller suchte einen Source in VBA und nicht in .NET
In .NET koennte man es noch einfacher machen. Sprichwort dazu ist LinQ
Da wäre dies nur ein Einzeiler