Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leere Zeilen löschen

Leere Zeilen löschen
05.01.2005 08:55:26
Joachim
Hallo
Ich habe ein VB-Text im Netz gefunden, um leere Zeilen zu löschen. Nun möchte ich diese Funktion für alle Tabellenblätter ausser dem ersten Tabellenblatt innerhalb einer Datei anwenden.
Bei den anderen ist es jedoch noch so, dass jeweils in der ersten Spalte eine Funktion in den Zellen ist! So funktioniert der Code irgendwie nicht. Was ist auch mit farbig markierte Zellen? Könnt ihr mir da helfen? Das wäre super!
Ich habe keine VB-Kenntnisse, ausser dass ich die Texte "reinkopiere" und versuche sie zu aktivieren.
Der Code:
Option Explicit

Sub DeleteEmptyRows()
Dim optCalcMode As Long
Dim lngLastRow As Long
Dim lngRow As Long
With Worksheets(1)
If Application.WorksheetFunction.CountA(.Cells) > 0 Then
optCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
lngLastRow = .Cells.Find(What:="*", _
After:=.Range("A1"), SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row - 1
For lngRow = lngLastRow To 1 Step -1
If Application.WorksheetFunction.CountA( _
.Rows(lngRow).EntireRow) = 0 Then
.Rows(lngRow).EntireRow.Delete
End If
Next
Application.Calculation = optCalcMode
Application.ScreenUpdating = True
End If
End With
End Sub

Gruss
Joachim

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zeilen löschen
Uduuh
Hallo,
also leere Zeile ohne Berücksichtigung von Spalte A?

Sub DeleteEmptyRows()
Dim optCalcMode As Long
Dim lngLastRow As Long
Dim lngRow As Long
Dim i as Integer
For i=2 To Worksheets.Count
With Worksheets(i)
If Application.WorksheetFunction.CountA(.Cells) > 0 Then
optCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
lngLastRow = .Cells.Find(What:="*", _
After:=.Range("A1"), SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row - 1
For lngRow = lngLastRow To 1 Step -1
If Application.WorksheetFunction.CountA( _
.Range(.cells(lngRow,2),.Cells(lngRow,255)) = 0 Then
.Rows(lngRow).EntireRow.Delete
End If
Next
Application.Calculation = optCalcMode
Application.ScreenUpdating = True
End If
End With
Next i
End Sub

Gruß aus'm Pott
Udo

Anzeige
AW: Leere Zeilen löschen
05.01.2005 13:15:44
Joachim
Hallo Udo
Danke für für die Antwort. Ich vergass jedoch zu sagen, dass das Kriterium ob die ganze Zeile leer ist, nur aus der Spalte A ersichtlich ist (wo eben noch die Funktionen drin sind). Geht das irgendwie?
Gruss
Joachim
AW: Leere Zeilen löschen
u_
Hallo,
wie ersichtlich?
In dem Makro wird geprüft, ob B:IV leer sind. A wird hierbei ignoriert. Ergibt doch das Gleiche.
Gruß
AW: Leere Zeilen löschen
05.01.2005 14:43:34
Joachim
Hallo Udo
Aus dem Tabellenblatt 1 in Spalte A wird eine fortlaufende Nummer in andere Tabellenblätter kopiert. Die Nummer kommt aber nur in ein weiteres Tabellenblatt. Dies führt dann zu leeren Zeilen. Das Kriterium, dass die Nummer kopiert wird ist im ersten Tabellenblatt in in Spalte B eingetragen. Die Funktion jedoch ist in den anderen Tabellenblätter jeweils in der Spalte A. Darum sollte der Code für die Spalte A gelten, sich an den Funktionen (wie z.B. WENN=etc.)nicht stören. Hoffe das ist klarer?!?
Noch etwas: Ist das Makro dauernd aktiv, oder nur beim schliessen oder öffnen der Datei, oder wann?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige