Supportnet / Forum / Tabellenkalkulation
Automatisch Zeilen löschen
Frage
Hallo,
ich btrauch Eure Hilfe!
Ich hab eine Dateiu mit zwei Tabellenblätter. In Tabelle A sind alle Aufträge abgebildet. Diese Aufträge aktualisier ich mittels ODBC. Leider müssen Aufträge aus dieser Auswertung gelöscht werden. Das passiert per Hand. Die Auftragsnummer der zu löschenden Zeile die in Spalte A in steht schreibe ich zur Erinnerung immer in Tabelle B in Spalte A immer in die letzte freie Zeile. Jetzt habe ich schon sehr viele Aufträge in Tabelle B Spalte A stehen die ich jedesmal in Tabelle A suchen muss und per Hand dann löschen.
Ist es möglich mittels VBA das zu automatisieren?? Der Code müsste in Tabelle B Spalte A die Auftragsnumern mit Tabelle A Spalte A vergleichen und wenn er einen identischen Wert findet diese Zeile löschen.
Vielen Dank für Eure Mühe!!!!
Gruß
Elhamplo
Antwort 1 von Saarbauer
Hallo,
eine einfach Lösung, auf die schnelle
Gruß
Hemut
eine einfach Lösung, auf die schnelle
Sub Zeile_Löschen()
Sheets(1).Select
letzteZeileTab_1 = Range("A65536").End(xlUp).Row
Sheets(2).Select
letzteZeileTab_2 = Range("A65536").End(xlUp).Row
For i = 1 To letzteZeileTab_2
Sheets(1).Select
For j = 1 To letzteZeileTab_1
If Sheets(1).Range("A" & j).Value = Sheets(2).Range("A" & i).Value Then
Rows(j).Select
Selection.Delete Shift:=xlUp
End If
Next j
letzteZeileTab_1 = Range("A65536").End(xlUp).Row
Next i
End SubGruß
Hemut
Antwort 2 von Elhamplo
Hallo,
Danke für die Hilfe!
wie muss ich den Code änder damit ich den Tabellen einen Namen geben kann. Tabelle 1 Aufträge und Tabelle 2 Info. Ist das schlimm das wenn in der Datei noch weitere Tabellen hinzukommen??
Danke für Deine Mühe!!!
Gruß
Elhamplo
Danke für die Hilfe!
wie muss ich den Code änder damit ich den Tabellen einen Namen geben kann. Tabelle 1 Aufträge und Tabelle 2 Info. Ist das schlimm das wenn in der Datei noch weitere Tabellen hinzukommen??
Danke für Deine Mühe!!!
Gruß
Elhamplo
Antwort 3 von Saarbauer
Hallo,
hier zum Beispiel
Sheets(1).Select in Sheets("Aufträge").Select
Sheets(2).Select in Sheets("Info").Select
und das an allen Stellen wo diese Angaben auftauchen.
Zu der zwieten Frage, grundsätzlich nein, aber dann wären entsprechende Anpassungen erfordelich
Gruß
Helmut
hier zum Beispiel
Sheets(1).Select in Sheets("Aufträge").Select
Sheets(2).Select in Sheets("Info").Select
und das an allen Stellen wo diese Angaben auftauchen.
Zu der zwieten Frage, grundsätzlich nein, aber dann wären entsprechende Anpassungen erfordelich
Gruß
Helmut
Antwort 4 von Elhamplo
Hallo,
danke für Deine Hilfe.
Ich muss in die Datei noch weiter Tabellen hinzufügen um Margen etc auszurechnen. Wie müstte ich den Code erweitern das ich immer mal wieder eine Tabelle hinzufügen kann und trotzdem das automatische löschen der Zeilen in der Tabelle "Aufträge" gegeben ist.
Danke für Deine Mühe!!
Gruß
Elhamplo
danke für Deine Hilfe.
Ich muss in die Datei noch weiter Tabellen hinzufügen um Margen etc auszurechnen. Wie müstte ich den Code erweitern das ich immer mal wieder eine Tabelle hinzufügen kann und trotzdem das automatische löschen der Zeilen in der Tabelle "Aufträge" gegeben ist.
Danke für Deine Mühe!!
Gruß
Elhamplo
Antwort 5 von Saarbauer
hallo,
willst du auf die anderen Tabellen zurückgreifen oder haben die mit dem Löschen nichts zu tun?
Gruß
Helmut
willst du auf die anderen Tabellen zurückgreifen oder haben die mit dem Löschen nichts zu tun?
Gruß
Helmut
Antwort 6 von Elhamplo
Hallo,
die anderen Tabellen werden mit der Tabelle Aufträge mit summenwenn oder sverweisen verknüpft. Mit dem Löschen haben die nicht zu tun. Das belibt weiterhin so. Alle was in der Tabelle
Sheets(2).Select in Sheets("Info").Select steht soll in Tabelle
Sheets(1).Select in Sheets("Aufträge").Select die Zeilen gelöscht werden.
Danke!!!
Gruß
Elhamplo
die anderen Tabellen werden mit der Tabelle Aufträge mit summenwenn oder sverweisen verknüpft. Mit dem Löschen haben die nicht zu tun. Das belibt weiterhin so. Alle was in der Tabelle
Sheets(2).Select in Sheets("Info").Select steht soll in Tabelle
Sheets(1).Select in Sheets("Aufträge").Select die Zeilen gelöscht werden.
Danke!!!
Gruß
Elhamplo
Antwort 7 von Elhamplo
Hallo,
die anderen Tabellen hben mit dem löschen nichts zu tun.
Danke!!!
Gruß
Elhamplo
die anderen Tabellen hben mit dem löschen nichts zu tun.
Danke!!!
Gruß
Elhamplo
Antwort 8 von gast123
hi all :-)
selectionen sollten verbannt werden
statt sheets,was auch ein diagramm sein koennte,waere worksheets(index/name) angebrachter
statt ein zeilenende anzugeben waere rows.count angebrachter
deklarationen sind gar nicht vorhanden und die variablen werden nun als variant angegeben,eine arge speicherverschwendung
gruss gast123
selectionen sollten verbannt werden
statt sheets,was auch ein diagramm sein koennte,waere worksheets(index/name) angebrachter
statt ein zeilenende anzugeben waere rows.count angebrachter
deklarationen sind gar nicht vorhanden und die variablen werden nun als variant angegeben,eine arge speicherverschwendung
gruss gast123
Antwort 9 von Elhamplo
Hallo,
danke für den Tip!!
Hab da was rumprobiert aber leider nicht hinbekommen. Kannst Du mir da ein Beispiel zeigen??
Danke für die Mühe!!!
Gruß
Elhamplo
danke für den Tip!!
Hab da was rumprobiert aber leider nicht hinbekommen. Kannst Du mir da ein Beispiel zeigen??
Danke für die Mühe!!!
Gruß
Elhamplo
Antwort 10 von Saarbauer
Hallo,
so meint @gast123 es
leider sind so in den Raum geworfene VBA-Brocken keinem, der sich mit der Programmierung nicht so gut auskennt, besonders hilfreich. Aus meiner Sicht verwirren diese eher.
Gruß
Hemut
so meint @gast123 es
Sub Zeile_Löschen()
Sheets("Aufträge").Select
letzteZeileTab_1 = Rows.Count
Sheets("Info").Select
letzteZeileTab_2 = Rows.Count
For i = 1 To letzteZeileTab_2
Sheets("Aufträge").Select
For j = 1 To letzteZeileTab_1
If Sheets(1).Range("A" & j).Value = Sheets(2).Range("A" & i).Value Then
Rows(j).Delete Shift:=xlUp
End If
Next j
letzteZeileTab_1 = Rows.Count
Next i
End Subleider sind so in den Raum geworfene VBA-Brocken keinem, der sich mit der Programmierung nicht so gut auskennt, besonders hilfreich. Aus meiner Sicht verwirren diese eher.
Gruß
Hemut
Antwort 11 von gast123
hi helmut :-)
sollte eine hilfestellung fuer dich sein,da setze ich vorraus das du das verstehst :-))
gruss gast123
sollte eine hilfestellung fuer dich sein,da setze ich vorraus das du das verstehst :-))
gruss gast123
Antwort 12 von Elhamplo
Hallo
uhhh sorry!!! Hab`s total vergessen. Sorry!!!!!
Habs ausprobiert. Leider klappt das noch nicht so ganz. Kann ich auch sagen ab welcher Zeile er beginnen soll zu löschen??
Danke!!!!!!
Tut mir echt leid das ich mich erst jetzt melde!
Gruß
Elhamplo
uhhh sorry!!! Hab`s total vergessen. Sorry!!!!!
Habs ausprobiert. Leider klappt das noch nicht so ganz. Kann ich auch sagen ab welcher Zeile er beginnen soll zu löschen??
Danke!!!!!!
Tut mir echt leid das ich mich erst jetzt melde!
Gruß
Elhamplo

