Supportnet / Forum / Tabellenkalkulation
Zeilen löschen
Frage
Hallo,
Ich hoffe es kann mir jemand helfen um mein Problem in den Griff zu bekommen. Vielleicht müsste an dieser Stelle auch ein Makro mit VB erstellt werden.
Folgendes Problem:
Ich habe ein Datensatz in Excel importiert, welcher aus 7 Spalten und ca. 18000 Zeilen besteht.
Die Zeilen sind aufgeteilt in regelmäßig 53 verwertbare Zeilen mit Daten und 19 zu löschende Zeilen, die jeweils unnütze Erklärungen beinhalten.
Also Zeile 1 bis 53 soll stehenbleiben, Zeile 54 bis 72 muss gelöscht werden. Dann geht es weiter mit 73 bis 125 stehenbleiben und 126 bis 144 löschen. und so weiter.
Gut wäre natürlich wenn die Bereichsdefinitionen klar hervorkommen würden und bei der ev. nächsten Anwendung wenn z.B Zeile 1und2 stehenbleiben und 3 bis 10 gelöscht werden soll-es dementsprechend angepasst werden könnte.
Wie löst man dieses Problem am besten die VBler sind also dringend gefragt.
Ich danke im Vorraus für die dringend benötigte Unterstützung
Subtransient
Antwort 1 von coros
Hallo Subtransient,
ich würde das wie folgt lösen. Kopiere nachfolgendes Makro in ein StandardModul und starte es mit z.B. einer Befehlsschaltfläche.
Hier werden nach 53 Zeilen in 19 Zeilen die Daten gelöscht und am Ende die Leerzeilen gelöscht.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich würde das wie folgt lösen. Kopiere nachfolgendes Makro in ein StandardModul und starte es mit z.B. einer Befehlsschaltfläche.
Option Explicit
Sub Daten_löschen()
Dim i As Long, lastRow As Long
Application.ScreenUpdating = False
'Rem: letzte beschriebene Zelle ermitteln
lastRow = Range("A65536").End(xlUp).Row
Rem: Schleife zum Löschen der Daten. Step gibt an, in welchen Schritten
Rem: die Schleife abgearbeitet wird. Hier 53 für alle 53 Zeilen plus 19
Rem: für 19 zu löschende Zeilen
For i = 53 To lastRow Step 72
Rows(i + 1 & ":" & i + 19).ClearContents
Next
Rem: Leerzeilen im Bereich A1 bis A letzte beschriebene Zeile löschen
Range("A1:A" & lastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End SubHier werden nach 53 Zeilen in 19 Zeilen die Daten gelöscht und am Ende die Leerzeilen gelöscht.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

