Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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
Inhaltsverzeichnis

VBA Spalten vergleichen, gleiche löschen

VBA Spalten vergleichen, gleiche löschen
11.11.2022 16:08:52
Ralf
Hallo zusammen
Leider kriege ich das Problem nicht in den Griff:
Anforderung: Spalte N & P sollen verglichen werden, die Einträge welche identisch sind sollen aber gelöscht werden.
Am Schluss sollten nur der Eintrag in Spalte N stehen bleiben welcher nicht identisch ist.
Ich habe diesen Code schon versucht umzuschreiben, damit bei x=y der Eintrag gelöscht wird, jedoch hört dann die Schleife fast nicht mehr auf.
Wäre Euch sehr dankbar für Eure unterstützung.

Sub Find_Matches()
Range("N5:N" & Cells(Rows.Count, 14).End(xlUp).Row).Select
Dim CompareRange As Variant, x As Variant, y As Variant
Set CompareRange = Range("P5:P1000")
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Spalten vergleichen, gleiche löschen
11.11.2022 16:29:41
Nepumuk
Hallo Ralf,
so?

Option Explicit
Sub Find_Matches()
Dim objCell As Range, objSearch As Range
For Each objCell In Range(Cells(5, 14), Cells(Rows.Count, 14).End(xlUp))
Set objSearch = Columns(16).Find(What:=objCell.Text, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not objSearch Is Nothing Then
objCell.Value = Empty
Set objSearch = Nothing
End If
Next
End Sub
Gruß
Nepumuk
AW: VBA Spalten vergleichen, gleiche löschen
11.11.2022 18:47:57
Yal
Hallo Ralf,
Kompliziert erklärt.
Alle Einträge in einer Lister (N5:Nx), die in einer anderen Liste vorkommen (die Spalte P), sollen gelöscht und der Rest der Spalte N nach oben verschoben, sodass keine Lücke entsteht. Richtig so?
Dann musst Du, wie beim Bodenwischen, "zurück zu Tür" arbeiten: die Liste von unten an abarbeiten, weil sonst löscht Du die Zelle N10 und willst die Wert vom Zelle N11 bearbeiten, aber diese ist nun in N10! Es werden nicht alle Treffer erwischt.
(Auf Basis der Code vom Nepumuk. Seine Lösung ist vollständig bis auf dem Lückenschliessen, wovon ich nicht sicher bin, dass ich deine Vorgabe richtig verstanden habe)

Sub Find_Matches()
Dim R As Long 'R wie Row
Dim Treffer As Range
Dim LetzteZeile As Long
LetzteZeile = Cells(Rows.Count, "N").End(xlUp).Row
For R = LetzteZeile To 5 Step -1
Set Treffer = Columns(16).Find(What:=Cells(R, "N").Text, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Not Treffer Is Nothing Then
Cells(R, "N").Offset(1, 0).Resize(LetzteZeile - R + 1, 1).Cut Cells(R, "N")
Set Treffer = Nothing
End If
Next
End Sub
VG
Yal
Anzeige
AW: VBA Spalten vergleichen, gleiche löschen
12.11.2022 13:24:01
Ralf
Hallo Nepumuk, hallo Yal
Danke für eure Hilfe! so kann ich weitermachen :-)
Lg Ralf

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige