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

860to864: Bereich(a1:A10) leer dann Zeile löschen

Bereich(a1:A10) leer dann Zeile löschen
09.04.2007 17:51:00
REGINA
Hallo zusammen,
Habe ein kleines Makro geschrieben, bekomme aber immer den fehler 13
kann da jemand helfen.
Es soll geguckt werden, ob in der Tab in den spalten A bis J Einträge sind , wenn nicht soll die Zeile gelöscht werden.

Sub LeereZeilenLöschen()
Dim i As Long
Dim ende As Long
ende = Range("D65530").End(xlUp).Row
With Worksheets("Tabelle1")
For i = ende To 1 Step -1
If Range(Cells(i, 1), Cells(i, 10)) = "" Then     'Hier  Laufzeitfehler 13 Typenunverträ _
glichkeit
Rows(i).Delete
End If
Next
End With
End Sub
vielen dank schon mal
Gruß REgina

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

Betreff
Datum
Anwender
Anzeige
AW: Bereich(a1:A10) leer dann Zeile löschen
09.04.2007 18:01:22
Josef
Hallo Regina,
du kannst einen bereich nicht aif "" prüfen!
Sub LeereZeilenLöschen()
Dim rngD As Range
Dim lngR As Long, ende As Long

ende = Range("D65530").End(xlUp).Row

With Worksheets("Tabelle1")
    
    For lngR = 1 To ende
        
        If Application.CountA(.Range(.Cells(lngR, 1), .Cells(lngR, 10))) = 0 Then
            If rngD Is Nothing Then
                Set rngD = .Rows(lngR)
            Else
                Set rngD = Union(rngD, .Rows(lngR))
            End If
        End If
        
    Next
    
    If Not rngD Is Nothing Then rngD.Delete
    
End With


Set rngD = Nothing

End Sub


Gruß Sepp

Anzeige
AW: Bereich(a1:A10) leer dann Zeile löschen
09.04.2007 18:02:00
Peter
Hallo Regina,
so wäre eine Möglichkeit:
Option Explicit

Public Sub LeereZeilenLöschen()
Dim lZeile     As Long
Dim lLetzte    As Long
Dim iSpalte    As Integer
Dim bGefunden  As Boolean
With Worksheets("Tabelle1")
lLetzte = .Range("D65530").End(xlUp).Row
For lZeile = lLetzte To 1 Step -1
bGefunden = False
For iSpalte = 1 To 10
If .Cells(lZeile, iSpalte)  "" Then
bGefunden = True
Exit For
End If
Next iSpalte
If bGefunden = False Then Rows(lZeile).Delete
Next lZeile
End With
End Sub
Gruß Peter
Danke! klappt prima!
09.04.2007 18:16:00
REGINA
ohne
kleine korrektur
09.04.2007 18:31:00
Josef
Hallo Regina,
Sub LeereZeilenLöschen()
Dim rngD As Range
Dim lngR As Long, ende As Long

With Worksheets("Tabelle1")
    
    ende = .Range("D65530").End(xlUp).Row
    
    For lngR = 1 To ende
        
        If Application.CountA(.Range(.Cells(lngR, 1), .Cells(lngR, 10))) = 0 Then
            If rngD Is Nothing Then
                Set rngD = .Rows(lngR)
            Else
                Set rngD = Union(rngD, .Rows(lngR))
            End If
        End If
        
    Next
    
    If Not rngD Is Nothing Then rngD.Delete
    
End With


Set rngD = Nothing

End Sub

Gruß Sepp

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige