Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gleiches löschen

Forumthread: Gleiches löschen

Gleiches löschen
12.08.2005 15:42:10
Oli
Hallo, ich habe in einem Tabellenblatt in der Spalte A Zahlen die sich immer wiederholen. Manche kommen aber auch nur einmal vor. Ich will das Excel mit einem Makro die Zeilen, in denen eine Zahl steht die mehrmals vorkommt löscht. Sinn ist es, das nur noch die Zahlen übrig bleiben die nur einmal vorhanden sind.
P.S. Ich weiß das ginge auch mit dem Autofilter wäre aber sehr aufwendig!
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleiches löschen
12.08.2005 15:44:32
Eule
Hi Oli
vielleicht damit:

Sub DoppelteWeg()
Dim i As Integer, iRows As Integer
iRows = Cells(Cells.Rows.count, 1).End(xlUp).Row
For i = iRows To 1 Step -1
If WorksheetFunction.CountIf(Columns(1), Cells(i, 1)) > 1 Then
Rows(i).Delete
End If
Next i
End Sub

Gruss Eule
Anzeige
AW: Gleiches löschen
12.08.2005 15:56:02
Oli
Hi Eule,
schon mal Danke, aber die Zahlen die Doppelt sind sollen ganz gelöscht werden, also gar nicht mehr in der Tabelle sein!
AW: Gleiches löschen
12.08.2005 15:58:56
Eule
Hi Oli
die Mehrfachen werden doch gelöscht, was willst Du denn noch?
Gruss Eule
AW: Gleiches löschen
12.08.2005 16:08:43
Oli
ja, aber nur die mehrfachnennungen, also wenn die ZAhl 2345/04 5mal vorkommt, dann ist Sie nach dem Makro noch 1mal da. Sie soll aber gar nicht mehr vorkommen. Ich verbinde vorher 2 Tabellen, und brauche nur die Zahlen die jeweils in der anderen nicht vorkommen
Anzeige
AW: Gleiches löschen
12.08.2005 18:15:41
ransi
hallo oli
mit den arrays() hab ich s nicht so.
daher wird der ein oder andere crack das vieleicht belächeln.
versuchs mal so:
Option Explicit
Public

Sub test()
Dim zelle As Range
Dim container As Variant
Dim i As Long
Dim a As Long
container = Array()
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
For Each zelle In Range("a1:a1000")
If WorksheetFunction.CountIf(Range("A1:a1000"), zelle) > 1 Then
ReDim Preserve container(i)
container(i) = zelle.Row
i = i + 1
End If
Next
For a = UBound(container) To LBound(container) Step -1
Rows(container(a)).Delete
Next
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

ransi
Anzeige
AW: Gleiches löschen
12.08.2005 19:00:48
K.Rola
Hallo,
teste das mal, wenn zufällig die ersten beiden Werte gleich sind. Dann ist LBound = 0
und Zeile 0 is nich...
Also entweder Option Base 1 oder....
Dim container As Variant ist nicht nötig
Dim container() As Long(sind ja die Zeilen)
dann kann auch container = Array() entfallen
Woher weißt du, dass Calculation auf automatic steht?
Gruß K.Rola
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige