Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nicht gemeinsame Zeilen in versch. Sheets löschen

Nicht gemeinsame Zeilen in versch. Sheets löschen
26.11.2003 17:54:57
Christian
Hallo,
ich möchte zwei Spalten aus zwei Tabellenblättern vergleichen, und
die nichtgemeinsamen Werte aus einem Sheet löschen.
Hab es mal so versucht:

Option Explicit

Sub Loeschen()
Dim i As Long
Dim l As Long
Dim aReihe As Long
Dim geloeschte As Long
Dim bReihe As Long
Dim del
aReihe = Worksheets("ASheet").Cells(Rows.Count, 1).End(xlUp).Row
bReihe = Worksheets("BSheet").Cells(Rows.Count, 1).End(xlUp).Row
For i = aReihe To 1 Step -1
del = True
For l = bReihe To 1 Step -1
If Worksheets("ASheet").Cells(i, 1) = Worksheets("BSheet").Cells(l, 1) Then
del = False
Exit For
End If
Next l
If del Then
Worksheets("ASheet").Cells(i, 1).EntireRow.Delete
geloeschte = geloeschte + 1
End If
Next i
MsgBox "Es wurden " & geloeschte & " Zeilen gelöscht !"
End 

Sub
Klappt aber nicht. Er werden immer alle Zeilen aus ASheet gelöscht.
Die Spalten haben den Inhalt (exemplarisch)
Im Blatt ASheet :
15
16
17
18
19
20
21
22
23
Im Blatt BSheet
15
15
15
16
18
18
20
20
20
22

                    

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht gemeinsame Zeilen in versch. Sheets löschen
26.11.2003 20:24:18
Frank
Hallo Christian,

is klar das immer alle gelöscht werden.
In deinem Beispiel wäre beim ersten Durchlauf die 22 in ASheet übrig, die im 2 Durchauf dann auch gelöscht wird.
Du solltest stattdessen lieber die Gleichen in beiden Tabellen herausfinden.
Die in beiden Tabellen übrig gebliebenen entsprechen deinem Wunschresultat.

Gruß
Frank
Dein Code tut gar nichts !
26.11.2003 21:55:04
Gabor
Hallo Christian,

ich habe deinen Code mit deinem Beispiel getestet. Der Code tut gar nichts...


Sub LoeschenNeu()
Dim LZA&, LZB&, i&, j&, Match As Boolean, GefZ&, Zaehler&
LZB = Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LZB
LZA = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To LZA
If Worksheets(2).Cells(i, 1).Value = Worksheets(1).Cells(j, 1).Value Then
Match = True
Exit For
Else
GefZ = j
End If
Next j
If Match = False Then
Worksheets(1).Cells(GefZ, 1).EntireRow.Delete
Zaehler = Zaehler + 1
End If
Match = False
Next i
MsgBox "Es wurden " & Zaehler & " Zeilen gelöscht !"
End Sub


Hiermit werden die nicht vorhandenen Werte in Blatt A(1) gelöscht. Soll das Ganze für Blatt B gelten, musst Du die Schleifen tauschen ....

Gruß

Gabor
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige