Anzeige
Archiv - Navigation
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Duplikate löschen

Duplikate löschen
18.12.2007 13:53:29
HannaG
Hallo,
habe Tabelle, in der in der ersten Spalte Text wie
A
FDS
MDSED
SEDT
SWAC
FDS
auftaucht.
Ich hätte gerne, daß, sobald ein Text doppelt auftaucht(siehe FDS), dieser incl. der ganzen Zeile gelöscht wird. Und zwar das untere "FDS". Makro sollte permanent durchlaufen, da sich die Texte in Spalte A zuweilen ändern.
Weiß jemand, wie das zu machen ist?
Gruß
Hanna

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Duplikate löschen
18.12.2007 14:00:00
Daniel
Hallo
zum Thema Duplikate entweder das Archiv bemühen oder mal das hier lesen:
http://www.online-excel.de/excel/singsel_vba.php?f=117
zum Thema sich selbst in regelmäßigen Abständen aufrufende Makros müsste hier in letzer Zeit auch einiges gelaufen sein, ansonsten mal in der Excelhilfe nach "OnTime" suchen.
Gruß, Daniel

AW: Duplikate löschen
18.12.2007 14:02:00
Peter
Hallo Hanna,
mit dem nachfolgenden Makro geht das:

Public Sub Doppelte_Raus()
Dim lZeile  As Long
With Worksheets("Tabelle1")
For lZeile = .Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Application.WorksheetFunction.CountIf(.Columns(1), .Cells(lZeile, 1)) > 1 Then
.Rows(lZeile).Delete Shift:=xlUp
End If
Next lZeile
End With
End Sub


Gruß Peter

Anzeige
AW: Duplikate löschen
18.12.2007 19:49:00
Hanna
So, hab jetzt mal die Formel von Peter genommen. Klappt. Danke euch allen.
Mit dem "Ausschließen" kommt mir noch eine Idee: Könnte ich mit der Formel oben, verändert natürlich, nicht die Duplikate löschen, sondern eine Wert auch völlig ausschließen?
Hanna

AW: Duplikate löschen
18.12.2007 20:21:00
Hanna
So, hab jetzt mal die Formel von Peter genommen. Klappt. Danke euch allen.
Mit dem "Ausschließen" kommt mir noch eine Idee: Könnte ich mit der Formel oben, verändert natürlich, nicht die Duplikate löschen, sondern eine Wert auch völlig ausschließen?
Hanna

AW: Duplikate löschen
18.12.2007 14:09:01
Archiv
Hi Hanna,
Kopier diesen Code in das entsprechende Tabellenblatt:

Private Sub Worksheet_Change(ByVal Target As Range)
Const tThisRange = "A:A"
If Intersect(Target, Range(tThisRange)) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Range(tThisRange), Target.Value) > 1 Then
Application.EnableEvents = False
MsgBox Target.Value & " is bereits vorhanden!", vbOKOnly + vbCritical, "DDooppppeelltt"
Target.Cells(1, 1).Value = ""
Target.Cells(1, 1).Activate
Application.EnableEvents = True
End If
End Sub


GreetZ Renee

Anzeige
AW: Duplikate verhindern statt löschen
18.12.2007 14:10:00
Renee
Hi again,
Mein Code kontrolliert/verhindert Duplikate für die Spalte A (Definition in der Const CodeZeile) während der Eingabe.
GreetZ Renee

AW: Duplikate verhindern statt löschen
18.12.2007 14:27:00
Daniel
Hi Renee
das geht auch einfacher über die Funkion DATEN - GÜLTIGKEIT.
dort "Benutzerdefiniert" auswählen und diese Formel eingeben:

=ZÄHLENWENN(A:A;A1)


allerding hab ich den Verdacht, das HannaGs Daten auf andere Weise aktualisiert werden, vermutlich verknüpfung auf irgende ne Datei oder Datenbank mit automatischer Aktualisierung im kurzen Abstand.
Gruß, Daniel

Anzeige
AW: Duplikate verhindern statt löschen
18.12.2007 14:38:53
Renee
Hi Daniel,
Ob das einfacher ist, darüber lässt sich streiten.
Vorteil deiner Lösung ist, das keine Makros gebraucht werden. Meiner ist hier:
Code braucht bei 5000 Zellen ungefähr 10mal weniger Platz, wie eine Gültigkeitsregel !
GreetZ Renee

AW: Duplikate verhindern statt löschen
18.12.2007 14:57:00
Daniel
HI
vieviel Platz eine Gültigkeitsregel brauch hängt nicht von der absoluten Zellenanzahl ab für die sie gilt, sondern von der Anzahl der Zellbereiche.
solange es nur ein Zellbereich ist, für den die Gültigkeitsregel gilt spielt die absolute Grösse des Bereich keine Rolle
(also ne Datei mit Gülitgkeitsregel für alle Zellen (256*65536) braucht bei mir genauso viel Speicherplatz wie die leere Datei (12,5 kb)
kritisch wirds erst, wenn jede Zelle ne eigene Gültigkeitsregel bekommen soll oder die Regel nur in jeder 2 Zelle gelten soll, weil dann muss die Regel für jede Zelle einzeln gespeichert werden, da ist dann irgendwann Feierabend
aber in diesem Fall würde auch dein Makro etwas länger werden.
Gruß, Daniel

Anzeige
AW: Duplikate verhindern statt löschen
18.12.2007 15:56:46
HannaG
Richtig. Es liegt eine Verknüpfung vor. Ist damit die "Verhinderungslösung" passe?
Gruß
Hanna

AW: Duplikate verhindern statt löschen
18.12.2007 16:09:21
HannaG
Mal eben gestest: zählenwenn.. _Formel führt nicht zum gewünschten Ergebnis. Wäre auch zu schön gewesen....

AW: Duplikate verhindern statt löschen
18.12.2007 16:12:35
Daniel
ja
du must nach jeder Verküpfungsaktualisierung ein Makro drüberlaufen lassen, daß die Duplikate entfernt.
am einfachsten wäre es wahrscheinlich, wenn du die Daten von der Verknüpfung per Spezialfilter an eine andere Stelle kopierst.
das ist dann im Prinzip eine Zeile Code und die Originaldaten werden nicht verändert:

Sheets("Quelle").Range("a:a").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Ziel").Range("A1"), Unique:=True


Gruß, Daniel

Anzeige
AW: Duplikate verhindern
18.12.2007 14:30:00
Rudi
Hallo,
Daten-Gültigkeit, Benutzerdefiniert, Formel= =zählenwenn(A:A;a1)=1
hilft allerdings nicht bei Copy&Paste
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige