Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen löschen mit Zellwert über...

Zeilen löschen mit Zellwert über...
27.01.2009 17:46:00
Norbert
Hallo,
habe folgende Frage:
Wie schreibt man als Makro: lösche alle Zeilen deren Inhalt in Spalte K kleiner 180 ist.
Besten Dank für RüA!
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen mit Zellwert über...
27.01.2009 18:06:00
Uwe
Hi,
ich würde es, ganz "primitiv", so machen:

Sub Loeschen()
Dim L As Long
For L = Cells(Rows.Count, 11).End(xlUp).Row To 1 Step -1
If Cells(L, 11) 


Gruß
Uwe
(:o)

AW: kann man so machen, wenn man viel Zeit hat
27.01.2009 23:36:00
Daniel
Schneller ist auf jeden Fall das Makro von Tino oder man verwendet einfach den Autofilter:

Sub Makro2()
Range("K:K").AutoFilter Field:=1, Criteria1:="


Gruß, Daniel

Anzeige
AW: Zeilen löschen mit Zellwert über...
27.01.2009 18:10:00
Tino
Hallo,
hier mal zwei Möglichkeiten,
einmal mit Überschrift in K und einmal wenn in K keine Überschrift vorhanden ist.
Die letzte Spalte in der Tabelle wird dafür benötigt diese wird aber wieder gelöscht.
Sub Wenn_Ohne_Ueberschrift()
Dim Bereich As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    
  With ThisWorkbook.Sheets("Tabelle1")
    Set Bereich = .Range("K1", .Cells(Rows.Count, 11).End(xlUp))
    Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
    
    Bereich.FormulaR1C1 = "=IF(RC11<180,0,"""")"
    Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
    .Columns(.Columns.Count).Delete
  End With
 
 .ScreenUpdating = True
 .EnableEvents = True
End With

End Sub

Sub Wenn_Mit_Ueberschrift()
Dim Bereich As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    
  With ThisWorkbook.Sheets("Tabelle1")
    Set Bereich = .Range("K2", .Cells(Rows.Count, 11).End(xlUp))
   
   If Intersect(Bereich, Rows(1)) Is Nothing Then
        Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
        
        Bereich.FormulaR1C1 = "=IF(RC11<180,0,"""")"
        Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
        .Columns(.Columns.Count).Delete
   End If
  
  End With
 
 .ScreenUpdating = True
 .EnableEvents = True
End With

End Sub


Gruß Tino

Anzeige
mit Sicherheit...
27.01.2009 18:15:08
Tino
Hallo,
eine Abfrage muss noch rein,
damit es nicht zum Fehler kommt, sollte keine Zelle diese Bedingung erfüllen.
Sub Wenn_Ohne_Ueberschrift()
Dim Bereich As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    
  With ThisWorkbook.Sheets("Tabelle1")
    Set Bereich = .Range("K1", .Cells(Rows.Count, 11).End(xlUp))
    Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
    
    Bereich.FormulaR1C1 = "=IF(RC11<180,0,"""")"
  If Application.WorksheetFunction.CountIf(Bereich, 0) > 0 Then
    Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
  End If
    .Columns(.Columns.Count).Delete
  End With
 
 .ScreenUpdating = True
 .EnableEvents = True
End With

End Sub

Sub Wenn_Mit_Ueberschrift()
Dim Bereich As Range

With Application
 .ScreenUpdating = False
 .EnableEvents = False
    
  With ThisWorkbook.Sheets("Tabelle1")
    Set Bereich = .Range("K2", .Cells(Rows.Count, 11).End(xlUp))
   
   If Intersect(Bereich, Rows(1)) Is Nothing Then
        Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
        
        Bereich.FormulaR1C1 = "=IF(RC11<180,0,"""")"
       If Application.WorksheetFunction.CountIf(Bereich, 0) > 0 Then
        Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
       End If
        .Columns(.Columns.Count).Delete
   End If
  
  End With
 
 .ScreenUpdating = True
 .EnableEvents = True
End With

End Sub


Gruß Tino

Anzeige
AW: Zeilen löschen mit Zellwert über...
28.01.2009 10:15:00
Norbert
Besten Dank an alle für die prompte Hilfe!!!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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