Probleme mit Löschmakro
18.12.2008 13:54:00
Selux
In einer Excel - Tabelle hab ich in der Spalte A folgende Werte untereinander:
1
2
4
5
6
1
2
3
4
5
6
Es kommen also alle Zahlen - ausser die Zahl 3 - je zweimal vor
mittels folgendem Makro (welches ich übrigens von einem Forumanen hier erhalten habe) soll nun nach den doppelten Einträgen gesucht werden.
Alle doppelten Einträge sollen dann gelöscht werden.
Als Resultat sollen dann nur noch die Zahlen in der Tabelle stehen, welche nur einmal vorkommen. (in unserem Falle also die Zahl 3)
Sub Makro1()
Range("A2").Select
Dim X As Integer, Zeile As Integer, T As String, SchonDa As String, DieErsten As String, _
Such As String
Zeile = 1
'Alles durchgehen und Mehrfache löschen bzw. erste festhalten
Application.ScreenUpdating = False
For X = 1 To 1000
Such = ",@" & Cells(Zeile, 1) & "@" & Cells(Zeile, 2) & "@"
If InStr(SchonDa, Such) > 0 Then
Rows(Zeile).Delete Shift:=xlUp
If InStr(DieErsten, Such) = 0 Then DieErsten = DieErsten & Such
Else
SchonDa = SchonDa & Such
Zeile = Zeile + 1
End If
Next
'Alles durchgehen und die ehemals mehrfachen Ersten löschen
For Zeile = 1 To Zeile
Such = ",@" & Cells(Zeile, 1) & "@" & Cells(Zeile, 2) & "@"
If InStr(DieErsten, Such) > 0 Then
Rows(Zeile).Delete Shift:=xlUp
End If
Next
Application.ScreenUpdating = True
End Sub
Irgendwas scheint aber in diesem Makro nicht recht zu stimmen.
Es wird mir nach Makrodurchlauf mit den obigen Zahlen folgendes Resultat ausgegeben:
2
5
3
Es dürfte aber eigentlich nur noch die Zahl 3 hier stehen, da dies die einzige Zahl ist, welche nur einmal und nicht mehrere Male vorhanden ist.
Was ist falsch in obigem Makro - Code, resp. wie müsste ich diesen anpassen ?
HERZLICHEN DANK FÜR DIE HILFE