Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrfach vorhandene Nummern in Zellen löschen

Mehrfach vorhandene Nummern in Zellen löschen
28.05.2019 15:44:49
Elmar
Hallo zusammen,
ich habe eine Herausforderung, die ich mit "Probieren" nicht wirklich gelöst bekomme.... Ich suche eine VBA-Lösung für folgendes Problem.
Ich habe in der Spalte "B" meiner Tabelle ca 8000 Personalnummern. Aus diesen Personalnummern sollen nun alle gelöscht werden, die 3 und mehrmals vorkommen.
Es sollen also nur diese gelöscht werden, wenn mehr als 2 mal vohanden und dann aber (wenn diese Bedingung zutrifft) alle Datensätze mit dieser Personalnummer, diese Nummer soll dann also überhaupt nicht mehr vorkommen in meiner Tabelle.
Ist eine Nummer 2 mal drin, soll es so bleiben....
Hoffe, ich hab mich einigermaßen verständlich ausgedrückt und vielleicht hat ja jemand eine Idee bzw. einen ähnlichen Code, den ich anpassen könnte.
Danke vorab
Elmar
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
fehlende Infos...
28.05.2019 15:55:44
Werner
Hallo Elmar,
wo beginnen deine "Personalnummern" in Spalte B, in Zeile 1 oder ist da eine Überschrift?
was ist die erste freie Spalte in deiner Datei, Spalte C ?
Am besten mal eine Beispielmappe mit ein paar Beispieldaten hier hochladen.
Vom Grundsatz her würde ich das so machen:
In die erste freie Spalte rechts der Daten eine Formel eintragen, die alle Werte in Spalte B markiert, wenn sie mehr als zweifach vorhanden sind.
Daten nach dieser Hilfsspalte filtern - Filterergebnis löschen.
Gruß Werner
Anzeige
AW: Mehrfach vorhandene Nummern in Zellen löschen
28.05.2019 15:55:57
UweD
Hallo
- Hilfsspalte wählen
- Formel: =ZÄHLENWENN(B:B;B2)
- Autofilter auf die Hilfsspalte &GT2
- Ab Zeile 2 alles löschen
LG UweD
AW: Mehrfach vorhandene Nummern in Zellen löschen
28.05.2019 16:13:47
fcs
Hallo Elmar,
etwa so
LG
Franz
Sub Remove_3_fach_in_B()
Dim wks As Worksheet
Dim colTest As Long
Dim Zei_L As Long
Set wks = ActiveSheet
With wks
colTest = .UsedRange.Column + .UsedRange.Columns.Count
Zei_L = .Cells(.Rows.Count, 2).End(xlUp).Row
With .Range(.Cells(1, colTest), .Cells(Zei_L, colTest))
.FormulaR1C1 = "=IF(countif(r1C2:r" & Zei_L & "C2,rc2)>=3,1,"""")"
.Calculate
.Value = .Value
If Application.WorksheetFunction.Count(.Cells) > 0 Then
.SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow.Delete shift:=xlShiftUp
End If
End With
End With
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige