ich hoffe Ihr könnt mir helfen.
Ich habe eine Tabelle mit 7 Datenblättern.
Das erste Datenblatt dient zur Eingabe von vielen Daten.
Nun wird via wenn dann und Formeln daten aus dem ersten Datenblatt auf die anderen verteilt.
Leider entstehen dabei leerzeilen, siehe Bsp.:
Frau müller ist im ersten Datenblatt in zeile 3 und würd im Datenblatt zwei auch in Zeile drei eingetragen. Dadurch entstehen 2 leerzeilen dadrüber.
Wenn Herr Schmidt im ersten Datenblatt in Zeile 30 ist und auch in das zweite Datenblatt soll, dann sind zwischen den beiden 29 Leerzeilen. BLÖD !!!!
Es gibt bestimmt eine Möglichkeit das zu ändern oder auch zu verhindern.
Ich habe bereits einen VBR Code gefunden der genau das macht ( Leere Zeilen Löschen )
Leider löscht er dann auch meine Formeln aus den Zeilen !!!
Zusätzlich hätte ich es gerne das das Makro automatisch startet wenn man in das Datenblatt wechselt.
Hier der Code:
Sub Leerzeilenlöschen()
' Leerzeilen löschen einschließlich der Zeilen die entstehen wenn Zeilen am ende
' gelöscht werden, auch Leerzeilen in der Tabelle werden gelöscht
' von Wolf.W.Radzinski
' es wurden nicht alle Leerzeilen in einer Datei erkannt
' darum Ergänzung
On Error Resume Next
Dim r As Range
Dim anz As Long
Dim c_ges As Long
Dim col As New Collection
c_ges = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
For Each r In ActiveSheet.UsedRange.EntireRow
anz = 0
' ******** Hajo.Ziplies@web.de
Dim I As Byte
Dim L As Byte
L = 0
For I = 1 To 20
If Cells(r.Row, I) "" Then
L = 1
Exit For
End If
Next I
If L = 0 Then col.Add r
' anz = r.SpecialCells(xlCellTypeBlanks).Count
' If anz >= c_ges Then col.Add r
Next
For Each r In col
r.Delete
Next
End Sub