Supportnet / Forum / Tabellenkalkulation
Datensätze einer Excel-Tabelle aus einer anderen Tabelle löschen
Frage
Hallo!
ich bräuchte eine Idee, wie man in Excel
aus einer Tabelle (Beispiel siehe
http://www.partygirlsberlin.de/tabelle-1.xls )
die Datensätze automatisch herauslöscht,
die in einer anderen Tabelle -
http://www.partygirlsberlin.de/tabelle-2.xls
vorkommen.
Dabei sollte sich die Frage, ob eine Zeile in
Tabelle 1 gelöscht wird, danach richten, ob der
Wert in der 1. Spalte der jeweiligen Zelle der gleiche
wie in Tabelle 2 ist.
Es soll ja irgendwie über den Spezialfilter von
Excel gehen, aber ich bekomms leider einfach nicht
hin :-((
Vielen Dank für Eure Hilfe
Max
Antwort 1 von JoeKe
Moin Max,
mit dem Spezialfilter kommst du meines Wissens hier nicht weiter.
Mit VBA wäre das mit folgendem Code machbar:
Option Explicit
Sub doppelt()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim rngSuch As Range, rngFind As Range, loL1 As Long, loL2 As Long, zähler As Long
Sheets.Add
ActiveSheet.Name = "Daten"
Workbooks.Open Filename:= _
"C:\Dokumente und Einstellungen\user\Desktop\tabelle-2.xls"
ActiveWorkbook.Sheets("Tabelle1").Cells.Copy
Windows("tabelle-1.xls").Activate
Sheets("Daten").Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("tabelle-2.xls").Close
loL2 = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
loL1 = 1
Do While loL1 <= Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
For zähler = 2 To loL2
If Sheets("Daten").Cells(loL1, 1) = Sheets("Tabelle1").Cells(zähler, 1) Then
Sheets("Tabelle1").Rows(zähler).Delete
End If
Next
loL1 = loL1 + 1
Loop
Sheets("Daten").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Wenn du dazu noch fragen hast, melde dic hnochmal.
Gruß
JöKe
mit dem Spezialfilter kommst du meines Wissens hier nicht weiter.
Mit VBA wäre das mit folgendem Code machbar:
Option Explicit
Sub doppelt()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim rngSuch As Range, rngFind As Range, loL1 As Long, loL2 As Long, zähler As Long
Sheets.Add
ActiveSheet.Name = "Daten"
Workbooks.Open Filename:= _
"C:\Dokumente und Einstellungen\user\Desktop\tabelle-2.xls"
ActiveWorkbook.Sheets("Tabelle1").Cells.Copy
Windows("tabelle-1.xls").Activate
Sheets("Daten").Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("tabelle-2.xls").Close
loL2 = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
loL1 = 1
Do While loL1 <= Sheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
For zähler = 2 To loL2
If Sheets("Daten").Cells(loL1, 1) = Sheets("Tabelle1").Cells(zähler, 1) Then
Sheets("Tabelle1").Rows(zähler).Delete
End If
Next
loL1 = loL1 + 1
Loop
Sheets("Daten").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Wenn du dazu noch fragen hast, melde dic hnochmal.
Gruß
JöKe
Antwort 2 von excelfrage
Hallo JöKe,
vielen Dank, das VBS Script ist
wirklich sehr nützlich!!
Max
vielen Dank, das VBS Script ist
wirklich sehr nützlich!!
Max
Antwort 3 von excelfrage
Hallo JöKe.
noch eine Frage.
bei mir erscheint immer die Meldung
"400" ohne weiteren Inhalt als Windows-Warnung auf.
Dabei werden zwar die doppelten Datensätze herausgefunden und in der Tabelle-1.xls in ein neues Arbeitsblatt geschrieben, allerdings werden diese Datensätze nicht aus der Tabelle-1 gelöscht.
Hast Du noch eine Idee?
Muss man einen speziellen Bereich markieren,
bevor das Makro ausgefüht wird?
Gruss
Maximilian
noch eine Frage.
bei mir erscheint immer die Meldung
"400" ohne weiteren Inhalt als Windows-Warnung auf.
Dabei werden zwar die doppelten Datensätze herausgefunden und in der Tabelle-1.xls in ein neues Arbeitsblatt geschrieben, allerdings werden diese Datensätze nicht aus der Tabelle-1 gelöscht.
Hast Du noch eine Idee?
Muss man einen speziellen Bereich markieren,
bevor das Makro ausgefüht wird?
Gruss
Maximilian
Antwort 4 von JoeKe
Moin Max,
leider kann ich das nicht nachvollziehen, bei mir läuft der Code mit deinen Beispieldateien.
Welche Zeile im Code wird bei der Fehlermeldung gelb markiert?
Gruß
JöKe
leider kann ich das nicht nachvollziehen, bei mir läuft der Code mit deinen Beispieldateien.
Welche Zeile im Code wird bei der Fehlermeldung gelb markiert?
Gruß
JöKe

