Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Duplikate aus zwei Spalten, aus einer entfernen
#1
Hallo zusammen,

ich hoffe ich finde hier Hilfe. Habe bereits gegoogelt und auch verschiedene Videos auf Youtube angeschaut, jedoch nichts funktionierendes gefunden.

Ich habe eine Tabelle mit über 55000 Zeilen, weshalb das ganze per Hand viel zu lange dauern würde.

Mein Anliegen:

Es geht um eine Liste, in der es beispielsweise einmal eine Spalte (J) mit "Liefername" gibt, und eine Spalte (P) mit "Name".
Nun sollen aus Spalte J Einträge gelöscht werden, die auch in Spalte P (in der gleichen Zeile) vorkommen. Das heißt, dass in Spalte P der Name weiterhin erhalten bleibt, wohingegen die Spalte J an dieser Stelle leer sein soll.

Leider kann ich über die "Duplikate entfernen"-Funktion von Excel nur Duplikate in einer einzigen Spalte entfernen lassen.
Bin dann so kreativ geworden und habe die doppelten Einträge über "bedingte Formatierung" rot markieren lassen. Diese wurden dann in Spalte P und J rot angezeigt. Wollte dann aus Spalte J alle Einträge mit roter Hintergrundfarbe entfernen, über VBA-Codes, die ich bei Google gefunden habe. Nur leider scheint das nicht zu funktionieren, da der Farbcode nicht übernommen wird oder so ähnlich. Kenne mich leider nicht so gut damit aus, weshalb ich auch hier auf Hilfe hoffe.


Freundliche Grüße!
Antworten Top
#2
Hallo,

ist das so gemeint?

Code:
for i = 1 to cells(rows.count, "J").end(xlup).row
    if cells(i, "J") = cells(i, "P") then cells(i, "J") = ""
next i

mfg
Antworten Top
#3
Hi,

leg dir eine Hilfsspalte an und filtere nach "x". Die (gefilterte!!) zweite Liste dann löschen.

Arbeitsblatt mit dem Namen 'Tabelle6'
ABC
1Liste1Liste2doppelt
2johannmonerl
3christinexanthippex
4gustavjohannx
5xanthippemaxl
6monimoritz

ZelleFormel
C2=WENN(ZÄHLENWENN($A$2:$A$6;B2)=1;"x";"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
(18.07.2019, 11:39)Fennek schrieb: Hallo,

ist das so gemeint?

Code:
for i = 1 to cells(rows.count, "J").end(xlup).row
if cells(i, "J") = cells(i, "P") then cells(i, "J") = ""
next i

mfg

Hallo, was soll ich genau mit dem Code machen? Habe echt wenig Ahnung von Excel, sorry.

Danke für die Antwort!

(18.07.2019, 11:40)WillWissen schrieb: Hi,

leg dir eine Hilfsspalte an und filtere nach "x". Die (gefilterte!!) zweite Liste dann löschen.

Arbeitsblatt mit dem Namen 'Tabelle6'
ABC
1Liste1Liste2doppelt
2johannmonerl
3christinexanthippex
4gustavjohannx
5xanthippemaxl
6monimoritz

ZelleFormel
C2=WENN(ZÄHLENWENN($A$2:$A$6;B2)=1;"x";"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


Hi,

habe mit deiner Formel jetzt in Spalte AE "x", bei doppelten Einträgen stehen. Wie soll ich nun weiter vorgehen? Laut deiner Beispieltabelle, werden auch doppelte Einträge aus verschiedenen Zeilen mit beachtet. Diese sollten eigentlich nicht mit beachtet werden. Ich meine das also Beispielsweise so:

J______________K____L___...____P_______...________AE
Max Mustermann________________Max Mustermann_____x
Günther Mann__________________Rudolf Schmitz_______
Max Mustermann________________Max Muster_________
Günther Mustermann_____________Günther Mustermann__x
Rudolf Schmitz__________________Peter Braun_________

aus J sollen dann z.B. die grün markierten entfernt werden. In blau, doppelte Einträge, die in verschiedenen Zeilen sind und deshalb nicht entfernt werden sollen. Die in schwarz, sollen weiterhin so stehen bleiben.

Danke für die Antwort!
Antworten Top
#5
Hallo, :19:

im Anhang siehst du mal beide Möglichkeiten. Einmal, wenn du es über die Bedingte Formatierung machen möchtest "DisplayFormat.Interior.ColorIndex". Und dann noch wie von Fennek vorgeschlagen mit dem Vergleich der beiden Spalten: :21:

.xlsb   Bedingte_Formatierung_DISPLAYFORMAT_Farbe_Rot_Zellen_J_leeren.xlsb (Größe: 251,29 KB / Downloads: 1)

Funktioniert im Moment im gerade aktiven Tabellenblatt. Wenn du das öfter machen willst, wäre es über Array schneller.
________
Servus
Case
Antworten Top
#6
Hi,

wenn du die (doppelten) Namen der ersten Spalte behalten und die der zweiten löschen willst, musst du halt die Formel anpassen:
Code:
=WENN(ZÄHLENWENN($B$2:$B$6;A2)=1;"x";"")
Wie du weiter verfahren sollst, habe ich dir ja in #3 beschrieben.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
(18.07.2019, 12:31)Case schrieb: Hallo, :19:

im Anhang siehst du mal beide Möglichkeiten. Einmal, wenn du es über die Bedingte Formatierung machen möchtest "DisplayFormat.Interior.ColorIndex". Und dann noch wie von Fennek vorgeschlagen mit dem Vergleich der beiden Spalten: :21:


Funktioniert im Moment im gerade aktiven Tabellenblatt. Wenn du das öfter machen willst, wäre es über Array schneller.

Danke, das hat geklappt und war selbst für mich verständlich :D

Danke auch an alle anderen! Einen schönen Tag wünsche ich euch !
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste