Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

Forumthread: 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
Anzeige

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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige