Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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
Inhaltsverzeichnis

Zeilen löschen

Zeilen löschen
27.11.2018 07:49:49
Lemmi
Hallo zusammen,
ich möchte ein Arbeitsblatt (aktives Arbeitsblatt) nach bestimmten Merkmalen bereinigen. Dazu sollen Zeilen nach bestimmten Merkmalen vollständig gelöscht
zum Beipiel: Hund, Katze, Maus….Leerzeile
Der zu durchsuchende Bereich soll Ab A7 beginnen.Der Bereich endet mit der letzten gefüllten Zeile.Es sollen auch alle Leerzeilen (Ab A7) gelöscht werden.
Kann dies in einem Makro geschrieben werden?
Vielen Dank für Eure Unterstützung!
LG
Lemmi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen
27.11.2018 09:20:18
Werner
Hallo,
kann/darf die Tabelle sortiert werden? Wenn ja, dann hättest du durch die Sortierung die Leerzeilen schon mal weg, da die dann am Tabellenende sind.
Wie willst du denn die "Begriffe" die gelöscht werden sollen erfassen? Irgendwo in einem freien Bereich deines Tabellenblattes? Das würde sich anbieten, da du sonst bei anderen "Begriffen" jeweils das Makro anpassen müsstest.
Da ich kaum annehme, dass in deiner Tabelle tatsächlich Hund, Katze, Maus... steht stellt sich die Frage, ob diese "Begriffe" jeweils alleine in einer Zelle stehen?
Am besten du lädst mal deine Mappe hier hoch.
Gruß Werner
Anzeige
AW: Zeilen löschen
27.11.2018 09:56:43
Lemmi
Hallo Werne,
Hund, Katze...usw. sind natürlich andere Inhalte zum Beispiel Minimum....etc.
Ich möchte den "Ballast" vor einer tiefergehenden Auswertung löschen.
Es darf die Tabelle nicht sortiert werden.
Die Such-Kreterien können in einem neuen Arbeitsblatt aufgeführt werden.
LG
Lemmi
AW: Zeilen löschen
27.11.2018 09:23:29
Torsten
Hallo,
in etwa so:
Sub Loeschen()
Application.ScreenUpdating = False
Dim Row As Long
Dim RowMax As Long
With Sheets("Dein Tabellenname")
RowMax = .UsedRange.Rows.Count
For Row = RowMax To 7 Step -1
If .Cells(Row, 1).Value = "" Or .Cells(Row, 1).Value = "Hund" Or .Cells(Row, 1).Value = "Katze"  _
Or .Cells(Row, 1).Value = "Maus" Then
.Rows(Row).Delete
End If
Next Row
End With
Application.ScreenUpdating = True
End Sub
Gruss Torsten
Anzeige
AW: Zeilen löschen
27.11.2018 13:14:58
Lemmi
Hallo Thorsten,
leider ist mein VBA zu schlecht! könntest Du noch folgende Anpassungen durchführn?
Die zu löschenden Zeilen und deren Wörter sind in einem Tabellenblatt"Löschen" ab A7 hinterlegt.
Es wird nur im aktiven Arbeitsblatt nach den ich das Makro " Loeschen" gestartet habe gelöscht.
LG
Lemmi
AW: Zeilen löschen
27.11.2018 10:10:18
Daniel
Hi
zum Löschen von Zeilen mit Bedingung denkt man sich eine Formel aus, welche alle Zeilen die gelöscht werden sollen mit 0 kennzeichnet und die die stehen bleiben sollen mit der Zeilennummer.
In die Überschriftenzeile kommt auch immer die 0
Damit haben alle Zeilen, die gelöscht werden sollen, den gleichen Wert und alle die stehen bleiben müssen einen eigenen, eindeutigen Wert.
Dann kann man alle Zeilen, die den gleichen Wert haben, über Daten - Datentools - Duplikate entfernen löschen.
geht natürlich auch per Code.
With ActiveSheet.UsedRange
With .columns(.Columns.count + 1)
.FormulaR1C1 = _
"=IF(Row()
das ist sehr schnell, auch bei größten Datenmengen und erfordert kein Umsortieren der Tabelle.
Gruß Daniel
Anzeige
AW: Zeilen löschen
27.11.2018 13:32:16
Lemmi
Vielen Dank Daniel,
Sichwort "große Datenmengen"
Ich habe noch einen andere Dateinen mit großen Datenmengen.
Hier möchte ich "nur" die letzte Spalte mit den Zeichen "0" oder " " (Leer) löschen.
Kann das Makro so veränder werden.
Das Ganze will ich mit einem "Butten" starten.
LG
Lemmi
AW: Zeilen löschen
27.11.2018 14:08:44
Daniel
Hi
mein Makro kannst du eigentlich für alle Aufgaben des Typs "Löschen mit Bedingung" so einsetzten.
das einzige, was du anpassen musst, ist die Formel, welche du .FormulaR1C1 = "..." angibst.
wenn dir die R1C1-Schreibweise für Formeln nicht geläufig ist, kannst du auch so vorgehen:
1. denke dir eine Formel aus, welche alle Zeilen, die gelöscht werden sollen mit 0 kennzeichnet und alle die stehen bleiben sollen, mit der aktuellen Zeilennummer, also eine Formel nach dem Schema:
=Wenn(...;0;Zeile())
2. diese Formel schreibst du dann in die erste freie Zelle am Tabellenende in die erste Zeile.
wenn die Formel das gewünschte Ergebnis liefert, gehst du in den VBA-Editor ins Direktfenster und lässt dir dort mit
?Selection.FormulaR1C1

den Formeltext anzeigen.
Diesen Formeltext kannst du dann in den Code kopieren.
Sollte die Formel Anführungszeichen enthalten, musst du diese noch verdoppeln.
Alternativ kannst du das Einfügen der Formel auch mit dem Recorder aufzeichnen und dann den Code von dort kopieren.
Es ist hilfreich, beim Schreiben der Formel alle Zellbezüge, die nicht zwingend relativ sein müssen, absolut zu setzten ($), das ist für die R1C1-Schreibweise günstigter.
wenn du auch damit nicht zurecht kommst, kannst du auch mit:
.FormulaLocal = "=..." die Formel im Code in der für dich gewohnten deutschen Schreibweise mit A1-Zellbezügen erstellen.
Gruß Daniel
Anzeige
AW: Zeilen löschen
28.11.2018 06:53:02
Lemmi
Hallo Danie,
leider habe ich nur VAB Kenntnisse.
Wenn nun deine Formel mit
Sub Loeschen beginnen soll
End 

Sub enden soll
würde das wie ausssehen.

Sub Loeschen()
With ActiveSheet.UsedRange
With .columns(.Columns.count + 1)
.FormulaR1C1 = _
"=IF(Row()
Sub End
In der jetztigen Form schreibt er mir nur Syntax Fehler.
LG
Lemmi

AW: Zeilen löschen
28.11.2018 09:33:34
Daniel
kann sein, dass ich da ein paar Tippfehler drin habe, ich habe das jetzt nicht getestet.
z.B. fehlt bei mir nach der Formel das abschließende Anführungszeichen.
am besten ist, du schreibst den Code selbst und nutzt dabei die IntelliSense um Schlüsselwörter zu vervollständigen (erste Buchstaben eintippen, dann STRG+LEER drücken), somit vermeidest du dann meine Schreibfehler.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige