Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Leerzeilen löschen
12.01.2005 14:45:05
Ernst
Hallo Forum,
Ich habe mir ein Excel sheet gebaut mit dem ich mit SVERWEIS aus anderen Dateien Daten importiere.
Zu diesem Zweck hab ich mir (um genügend Platz zu haben) ca. 2000 Zeilen freigehalten bevor ich einen Abschluss mache.
Werden allerdings jetzt nur ca. 100 Daten importiert bleiben mir 1900 Zeilen frei.
Wie kann ich diese komfortabel löschen?
Optimale Zeilenbreite, Zeilenhöhe und Inhalt einfügen mache ich schon ueber ein Makro(aufgezeichnet)
Vielen Dank fuer eure Hilfe
Gruesse
Ernst

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen löschen
Galenzo
Hallo,
manuell so:
Spalte mit den Leerzellen markieren
F5/Inhalte/Leerzellen
STRG+MINUS / ganze Zeile löschen
Als Makro:
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Viel Erfolg!
AW: Leerzeilen löschen
13.01.2005 10:00:45
Ernst
Hallo Galenzo,
Danke das funtioniert auch - allerdings nur bei komplett leeren Zeilen.
Mein Suchkriterium sollte die Spalte A sein.
Wenn in Spalte A17:A2097 nichts drinnen steht, dann soll die komplette Zeile gelöscht werden - auch wenn in Spalte F oder J was drinnen steht.
Gibt es hier einen speziellen Befehl oder kann man das nur mit einen Schleife realisieren ?
Vielen Dank fuer Deine Hilfe
Gruss
Ernst
Anzeige
AW: Leerzeilen löschen ohne Schleife
Martin
Hallo Ernst,
eine Schleife ist unnötig und von der Performance her schlecht. Zeichnet man den manuellen Weg auf, bekommt man folgenden Code:

Sub Leerzeilen_weg()
Range("A17:A2097").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
End Sub

Das noch ein bißchen zusammengefaßt ergibt dann:

Sub Leerzeilen_weg2()
Range("A17:A2097").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Gruß
Martin Beck
AW: Leerzeilen löschen ohne Schleife
13.01.2005 15:38:34
ernst
Hallo Martin,
Danke fuer Deine Hilfe
aber da krieg' ich Laufzeitfehler '1004'
An was kanns liegen?
Danke
Ernst
Anzeige
AW: Leerzeilen löschen ohne Schleife
Martin
Hallo Ernst,
1004 mit der Meldung "Keine Zellen gefunden"? Dann hast Du eben im Bereich A17:A2097 keine leeren Zellen.
Gruß
Martin Beck
AW: Leerzeilen löschen
wolfgang
Nehmen wir mal an, Du Spalte A ist Deine Refernz, d.h. in Zeile 210 ist der letzte Eintrag und alles, was darunter liegt (in Spalte B,C, u.s.w.) soll gelöscht werden.
Dann probier's mal damit:

Sub RestLoeschen()
Range("A1").Select
Selection.End(xlDown).Select
Range("A15").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.ClearContents
Range("A1").Select
End Sub

Anzeige
AW: Leerzeilen löschen
12.01.2005 15:39:27
Ernst
Hallo Galenzo,
Hallo Wolfgang,
Danke für eure Hilfe
Leider funktioniert's noch nicht ganz so einwandfrei.
Gelöscht werden sollen alle Zeilen von Zeile 17 bis 2097 wo in der Spalte A nichts drinnen steht. (Obwohl Inhalt in D und E und .. möglicherweise stehen koennen)
Danke nochmals im Voraus
Gruss
Ernst
AW: Leerzeilen löschen
Galenzo
markierst du A17 bis A2097 und rufst mein Makro auf
cells(zeile,1).EntireRow.Delete
ransi
hallo ernst
verrsuchs mal so:
Public

Sub leere_weg()
Dim zeile As Integer
For zeile = 2097 To 17 Step -1
If Cells(zeile, 1) = "" Then Cells(zeile, 1).EntireRow.Delete
Next
End Sub

ransi
Anzeige
AW: cells(zeile,1).EntireRow.Delete
13.01.2005 08:57:10
ernst
Hallo ransi,
Toll!
Funktioniert genau so wie ich's wollte !!!
allerdings ´kriegt man fast einen Augenkoller weil der Bildschrim flimmert wie verrueckt.
Ich hab' da noch ne' Frage
Kann man anstatt Leerzeilen zu loeschen mit einem Makro auch den benötigten Platz reservieren lassen?
Die Anzahl der benötigten Zeilen ist die Anzahl der ausgefüllten Zellen in Spalte A in einer anderen Datei aus der die Daten importiert werden)
Vielen Dank nochmals !!!!!!!
Gruss
Ernst
AW: cells(zeile,1).EntireRow.Delete
WernerB.
Hallo Ernst,
zu Frage 1:

Sub leere_weg()
Dim zeile As Integer
Application.ScreenUpdating = False
For zeile = 2097 To 17 Step -1
If Cells(zeile, 1) = "" Then Cells(zeile, 1).EntireRow.Delete
Next zeile
Application.ScreenUpdating = True
End Sub

Zu Frage 2 kann ich Dir leider keine Lösung anbieten (ich habe sie - ehrlich gesagt - auch nicht verstanden).
Gruß
WernerB.
Anzeige
Zeilen reservieren
Martin
Hallo Ernst,
nehmen wir mal an, die Daten kommen aus Datei "test" und stehen dort in "Tabelle1" in Spalte A, und zwar durchgängig von Zeile 1 bis Zeile z. z ist variabel und soll bestimmt werden.
Folgendes Makro reserviert n Zeilen ab Zeile 17:

Sub reservieren()
z = Workbooks("test").Worksheets("Tabelle1").Range("A65536").End(xlUp).Row - 1
Range("A17:A" & 17 + z).EntireRow.Insert
End Sub

Beim Aufruf des Makros muß die Tabelle aktiviert sein, in der die Zeilen eingefügt werden sollen.
Gruß
Martin Beck
AW: Leerzeilen löschen
13.01.2005 18:21:42
ernst
Hallo zusammen,
Ich hab von allen schon sehr hilfreiche Tips bekommen, aber so ganz komm ich noch nicht zurecht.
Makros mit Schleife dauern ganz schon lange um Leerzeilen im Range A17:A2097 zu suchen und zu löschen (ca. 4min), und mit
Range("A17:A2097").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
hab ich Probleme weil die Zelle obwohl nichts drinnen steht wahrscheinlich nicht als leer erkannt wird.
Ich hab mir gedacht wenn ich die Zelle z.B. A156 markiere und danach alle Zeilen bis A2097 löschen könnte wär's wohl schneller.
Aber wie mach ich das mit einem Makro?
Welchen Namen im Befehl Range hat die markierte Zelle?
Wie markier ich einen Bereich von meiner aktiven Zelle bis zur Zeile 2097 ?
und dann alles darin löschen und Zeilen nach oben schieben?
Vielen Dank nochmals fuer Hilfe
Ernst
Anzeige
AW: Leerzeilen löschen
bernd
hallo ernst
Range(ActiveCell.Row & ":2097").Delete 'löscht die zeilen
Range(ActiveCell.Row & ":2097").ClearContents 'löscht die inhalte
bernd
AW: Leerzeilen löschen
14.01.2005 10:00:08
ernst
Hallo Bernd,
Hallo Martin,
Danke für eure Hilfe!!
Martin: Das funktioniert bei meinen Aufbau leider nicht weil ich die Dateien ja nicht mit einen MAKRO importiere, sondern mit SVERWEIS und Verknüpfungen aktualisieren.
D.h. Zuerst importieren und dann Zeilen mittels Makro reservieren geht ja nicht.
Ich muesste beim öffnen der Datei das Makro ja bereits ausführen um Zeilen zu reservieren, und danach die Formeln mit SVERWEIS in die reservierten Zeilen reinkopiert bekommen.
Aber das ist fuer mich als VBA-Dummi ein längerer Weg.
Die kurzfristige Hilfe mit einem schnellen Löschen der Leerzeilen langt mir vorerst.
Vielen Dank nochmals an alle fuer eure Hilfe !!!!!!!!!
Gruss
Ernst
Anzeige
AW: Leerzeilen löschen
Martin
Hallo Ernst,
wieso reservierst Du nicht einfach nur die benötigten Zeilen? Wie das geht, habe ich ja schon gepostet, Du hast leider nicht darauf reagiert.
Gruß
Martin Beck

239 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige