Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: GeorgieGeorge am März 09, 2016, 13:22:32 Nachmittag
-
Hallo Leute
Ich möchte ein Sub schreiben , welches 2 bestimmte Spalten durchläuft und folgendes tut :
Wenn der Wert in der ersten Spalte einen Inhalt hat und die zweite Spalte leer ist soll die Zeile gelöscht werden. Wenn nicht dann nicht.
Ich danke im voraus und verbleibe mit freundlichem Gruß
GeorgieGeorge
-
Obwohl ich VBA-Fan bin, warum nicht zu Fuß? das geht mit einem AutoFilter ruck zuck.
Oder genau den Autofilter mit dem Makrorecorder aufzeichnen, dann hast du deine Prozedur.
-
AutoFilter löst das Problem leider nicht. Ich kann dir das auch leider nicht beschreiben warum AutoFilter nicht die Lösung ist.
-
Dann wird VBA auch nicht helfen, weil ein Makro eigentlich nur das automatisiert, was auch per Hand gemacht werden kann. Von wenigen Ausnahmen einmal abgesehen.
Ich geh in dem Fall davon aus, dass der Aufbau der Tabelle oder der Daten etwas "krumm" ist. Oft sind verbundene Zelle die Ursache allen Übels ... >:( Stelle doch einfach einmal eine (anonymisierte) Mustermappe hier ein, dann sehen wir weiter.
-
Im Prinzip bräuchte ich einen VBA Code der mir Zeile 3 und 7 weglöscht. Es geht um Excel Tabellen von mehr als 13.000 Zeilen
-
Im Prinzip bräuchte ich einen VBA Code der mir Zeile 3 und 7 weglöscht.
Im Prinzip kannst du das auch mit dem Makro-Recorder aufzeichnen.
-
Im Prinzip hilft mir deine Antwort nicht weiter . ich kann nicht nach leer tabellen filtern und löschen , da ich somit zeilen lösche die ich brauche !
-
Ich habe keine Ahnung was du mit "leer tabellen" meinst und den Filter hast du ja sowieso ausgeschlossen. Und erst willst Zeile 3 und Zeile 7 löschen und nun doch nicht?
Sub Zeile3_und_Zeile7_loeschen()
Rows("7:7").Delete Shift:=xlUp
Rows("3:3").Delete Shift:=xlUp
End Sub
-
In der Datei die ich beigefügt habe steht in der Spalte C der Status einer Bestellung. Diese Unterscheiden sich in noch nicht versandt / in Bearbeitung oder aber die Zelle ist leer. Wenn die Zelle leer ist steht in Spalte D entweder die Stationen die die Bestellung durchläuft oder die Zelle ist leer, wie in Zeile 3 und 7. Ich habe keinen Einfluss auf diese Datensätze , deswegen brauch Ich einen VBA Code, welcher die ganze Tabelle durchläuft und überprüft ob in und diese Zeilen löscht wo kein Status und keine Station vorhanden ist.
danke im voraus
-
Autofilter ist nicht die Lösung.
Sub Leere_Zeilen_loeschen()
ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=3, Criteria1:="="
ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=4, Criteria1:="="
Range("A3:A7").EntireRow.Delete
End Sub
-
Vielen lieben Dank
-
Ist es möglich das er die AutoFilter Zeilen automatisch löscht ? In deinem Sub löscht er ja explizit Zeile 3 und 7 . Es kann aber auch sein das ich mal ne Datenmenge bekomme wo das andere Zeilen sind
Danke im Voraus
MFG
-
Hallo
Der Filter löscht nicht sondern dies löscht:
Range("A3:A7").EntireRow.DeleteDu musst den Bereich anpassen.
-
Ok Danke.