online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Elhamplo vom 12.02.2020, 15:08 Options

Automatisch Zeilen löschen

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 schreiben

Antwort 1 von Saarbauer vom 12.02.2020, 16:15 Options

Hallo,

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 Sub



Gruß

Hemut

Antwort 2 von Elhamplo vom 12.02.2020, 17:27 Options

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

Antwort 3 von Saarbauer vom 12.02.2020, 18:27 Options

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

Antwort 4 von Elhamplo vom 13.02.2020, 10:24 Options

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

Antwort 5 von Saarbauer vom 13.02.2020, 11:05 Options

hallo,

willst du auf die anderen Tabellen zurückgreifen oder haben die mit dem Löschen nichts zu tun?

Gruß

Helmut

Antwort 6 von Elhamplo vom 13.02.2020, 11:38 Options

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

Antwort 7 von Elhamplo vom 15.02.2020, 10:04 Options

Hallo,

die anderen Tabellen hben mit dem löschen nichts zu tun.

Danke!!!

Gruß

Elhamplo

Antwort 8 von gast123 vom 15.02.2020, 10:10 Options

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

Antwort 9 von Elhamplo vom 20.02.2020, 07:36 Options

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

Antwort 10 von Saarbauer vom 20.02.2020, 08:26 Options

Hallo,

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 Sub



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

Antwort 11 von gast123 vom 20.02.2020, 11:26 Options

hi helmut :-)

sollte eine hilfestellung fuer dich sein,da setze ich vorraus das du das verstehst :-))

gruss gast123

Antwort 12 von Elhamplo vom 03.03.2020, 13:25 Options

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

Ähnliche Themen

Excel Zeilen löschen
Smart79  07.09.2007 - 290 Hits -

Zeilen mit Datum vorletztes Quartal löschen
RPFL57  15.04.2008 - 68 Hits - 14 Antworten

Zeilen mit leeren Zellen löschen
brs  16.06.2008 - 300 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026