Duplikate makieren damit sie danach entfernt werden können

  • #1
R

Ricard

Neues Mitglied
Themenersteller
Dabei seit
14.10.2008
Beiträge
2
Reaktionspunkte
0
Schönen guten Tag,
Ich sitze im Rahmen meines Praktikums hier auf der Arbeitstelle und hab nun eine Frage.
Ich soll 2 Listen zusammen fassen und Duplikate entfernen.
Dabei wollte ich jedoch diese erstmal farblich hinterlegen und sie erst danach entfernen.
Die Tabelle geht von A bis AG und von 2 bis 1672.
Wie kann ich jetzt die verschiedenen Spalten durchsuchen nach Duplikaten.
es handelt sich dabei um Spalten die sowohl Namen wie auch Telefonnummern enthalten könnten ich bräuchte also nicht nur ein Werte sondern auch ein buchstaben vergleich.

Leider sind mir hier die Hände gebunden da ich mich noch nicht sooo mit Excel auskenne.
Würde mich über Hilfe sehr freuen.

Vielen Dank
 
  • #3
Hallo Ricard,

wie sieht es denn mit der 2. Datei aus ? Hat die das gleiche Format / gleiche Spalten in gleicher Reihenfolge ?
Wann ist ein Datensatz doppelt ? Wenn alle Zellen der Zeile gleich den Zellen auf dem 2. Blatt sind ?

Gruß Matjes

ps: welches Excel / Office benutzt du ?
 
  • #4
Das Problem ist ich würde das ganze sehr gerne farblich hinterlegen und dann per hand löschen.
Desweiteren habe ich hier keine Adminrechte und kann somit auch keine Programme für Excel herunterladen die mir die Arbeit erleichtern sondern würde das ganze in Form eines Makros oder ähnliches gerne ablaufen lassen.

Die Lösung mit dem Spezielfilter ist bisher auch nicht befriedigend!

Mfg Ricard

[edit] Office 2003 - beide Listen habe ich zusammengefügt. Einmal Telefonlist aus dem jahr 2007 und 2008.
diese sind aber auch unterschiedliche während bei liste a.) zbsp Herr Hans Meier die telefonnummer 0177/777777 hat hat in Liste b.) Ein Hans M. die Nummer 0177/77777.

Aus dem Grund würde ich gerne die Liste nach gleichen Nummer durchsuchen das sollte farblich markiert werden damit ich die liste nochmal mit dem Auge durchgehen kann.
Anschließen gehe ich ähnlich vor via Geburtsdatum etc. da die Liste nur teilweise vollständig ist.
 
  • #5
Hallo Ricard,

es sollte zunächst eine Bereinigung der Liste stattfinden, d.h.
es handelt sich dabei um Spalten die sowohl Namen wie auch Telefonnummern enthalten könnten ich bräuchte also nicht nur ein Werte sondern auch ein buchstaben vergleich
dieses sollte so getrennt werden, dass in einer Spalte Anrede, in der nächsten Spalte Vorname(n), In der nächsten Spalte Zuname und in einer weiteren Telefonnummer aufgespalten wird. Wenn man das gemacht hat, kann man alle Daten nach Spalten sortieren und findet dann auch schnell Ähnlichkeiten.

Für das Markieren von doppelten Telefonnummern hab ich dir ein Makro gestrickt.
(Das Makro filtert aus gemischten Text die Telefonnummer).
Unter ANPASSEN mußt du noch die Spaltennummer eintragen.

Gruß Matjes :)

Code:
Option Explicit

Type my_TelefonnummernListe
 sTelNr As String
 lZeile As Long
 bDoppelt As Boolean
End Type

Sub DoppelteTelefonnummernMarkieren()

->Makro nimmt den jeweiligen Zellinhalt als Text und filtert ihn
->auf Nummern 0-9
->Das Makro überprüft, ob diese Nummer in der Spalte noch einmal auftaucht
->Diese Zellen werden hellorange markiert
 
->*** A N P A S S E N ****
-> Nummer der Spalte mit Telefonnummern
-> 1 für A, 2 für B, ...
 Const cSP_TELNRN = 1
->ab Zeile 2 prüfen
 Const cZ_ERSTEWERTEZEILE = 2
->*** A N P A S S E N E N DE ****
 
 Const cFARBE = 46->Colorindex hellorange
 
 Dim ws As Worksheet
 Dim f() As my_TelefonnummernListe, fCnt As Long
 Dim lZeilen As Long, x As Long, y As Long
 Dim sTmp As String, sTel As String, s As String
 Dim bEsGibtDoppelte As Boolean
 
->actives Blatt setzen
 Set ws = ActiveSheet
 
->letzte Zeile mit Inhalt in Spalte bestimmen
 lZeilen = ws.Cells(ws.Rows.Count, cSP_TELNRN).End(xlUp).Row
 If lZeilen <= cZ_ERSTEWERTEZEILE Then
  MsgBox keine relevaten Zeilen in Spalte  & cSP_TELNRN & vorhanden.
  GoTo AUFRAEUMEN
 End If
 
->Telefonnummern einlesen
 fCnt = 0
 ReDim f(1 To lZeilen)
 For x = cZ_ERSTEWERTEZEILE To lZeilen
  
  sTmp = ws.Cells(x, cSP_TELNRN).Value
  
 ->alles ungleich Ziffern ausfiltern
  sTel = 
  For y = 1 To Len(sTmp)
   s = Mid(sTmp, y, 1)
   Select Case s
    Case 0 To 9
     sTel = sTel & s
   End Select
  Next
  
  If Len(sTel) > 0 Then
  ->Telefonnummer merken
   fCnt = fCnt + 1
   f(fCnt).sTelNr = sTel
   f(fCnt).lZeile = x
  End If
 Next
 
->TelNummern vergleichen, Doppelte markieren
 For x = 1 To fCnt
  For y = 1 To fCnt
   If x <> y Then
    If f(x).sTelNr = f(y).sTelNr Then
     bEsGibtDoppelte = True
     f(x).bDoppelt = True
     ws.Cells(f(x).lZeile, cSP_TELNRN).Interior.ColorIndex = cFARBE
    End If
   End If
  Next
 Next
 If Not bEsGibtDoppelte Then
  MsgBox keine doppelten Telefonnummern vorhanden.
  GoTo AUFRAEUMEN
 End If
 
AUFRAEUMEN:
 Set ws = Nothing
End Sub
 
Thema:

Duplikate makieren damit sie danach entfernt werden können

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben