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

Forumthread: bestimmte Zeilen in USEDRANGE löschen

bestimmte Zeilen in USEDRANGE löschen
Peter
Guten Tag
Ich möchte in einer Tabelle innerhalb des USEDRANGE alle Zeilen löschen, bei denen weder in Zeile B und I ein Wert enthalten sind.
Wie kann ich das mit VBA anstellen?
Gruss, Peter
Anzeige
ZEILE (!) B und I ? Gruß owT
25.10.2011 18:31:16
Luc:-?
:-?
Aw: Spalte muss es natürlich heißen owT
25.10.2011 19:08:20
Peter
AW: Aw: Spalte muss es natürlich heißen owT
25.10.2011 19:19:24
Peter
Anzeige
AW:Anpassung der Fragestellung:
25.10.2011 21:55:28
Peter
Hallo
Vielleicht war das zuviel des Guten. Die Lösung (mit Folgefrage) könnte wie folgt aussehen:
Angenommen, USEDRANGE umfasst in der Tabelle den Bereich A1:M777.
Ich trage in Spalte N auf den einzelnen Zeilen eine Formel ein, welche abfragt, ob auf den entsprechenden Zeile kein Eintrag vorhanden ist:
N1: =wenn(und(B1="";I1="");"Löschen";"")
...
N777: =wenn(und(B777="";I777="");"Löschen";"")
Nun steht in der Spalte N in jeder Zeile "Löschen", wenn die Zeile gelöscht werden soll. Und jetzt bin ich bei der Folgefrage: Ist Suche nach einer Möglichkeit, alle Zeilen AUF EINMAL zu eliminieren, bei denen in Spalte N "Löschen" steht.
Gruss, Peter
Anzeige
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 21:56:30
Gerd
Hallo Peter,
schaue mal, ob die Richtigen markiert werden.
With ActiveSheet
Intersect(.Range("B:B").SpecialCells(xlCellTypeBlanks).EntireRow, .Range("I:I").SpecialCells(xlCellTypeBlanks)).EntireRow.Select
End With
Gruß Gerd
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 22:02:50
Peter
Hallo Gerd
Das hat sich jetzt mit meiner Modifikation überschnitten - die jedoch hinfällig geworden ist.
DEINE Lösung funktioniert wie geschmiert. Jetzt habe ich .Select durch .Delete ersetzt und die Zeilen sind weg.
Vielen Dank!
Peter
Anzeige
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 22:01:15
Josef

Hallo Peter,

Sub leereLoeschen()
  Dim rng As Range
  
  With ActiveSheet
    Set rng = .UsedRange.Offset(0, .UsedRange.Columns.Count).Resize(, 1)
  End With
  
  With rng
    .FormulaR1C1 = "=AND(RC2="""",RC9="""")*1"
    .AutoFilter Field:=1, Criteria1:="1"
    .SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
    .AutoFilter
    .EntireColumn.Delete
  End With
  
  
  Set rng = Nothing
End Sub



« Gruß Sepp »

Anzeige
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 22:19:24
Peter
Hallo Sepp
Vielen Dank für diese Lösung.
Beim Austesten hat sich noch folgendes Problem ergeben:
- bei jedem zusammenhängenden "Zeilenblock" wird immer die erste Zeile nicht gelöscht.
- dies obwohl in der hintersten Spalte in der entsprechenden Zeile aus .FormulaR1C1 = ... auch eine 1 steht
Wenn also die Zeilen 2:9; 13:14 und 22:22 zu löschen wäre bleibt von diesen Zeilen
2:2; 13:13 und 22:22
Gruss, Peter
Anzeige
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 22:29:02
Josef

Hallo Peter,
ich hatte .Offset() an der falschen Stelle;-))

Sub leereLoeschen()
  Dim rng As Range
  
  With ActiveSheet
    Set rng = .UsedRange.Offset(0, .UsedRange.Columns.Count).Resize(, 1)
  End With
  
  With rng
    .FormulaR1C1 = "=AND(RC2="""",RC9="""")*1"
    .AutoFilter Field:=1, Criteria1:="1"
    .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    .AutoFilter
    .EntireColumn.Delete
  End With
  
  
  Set rng = Nothing
End Sub



« Gruß Sepp »

Anzeige
AW: bestimmte Zeilen in USEDRANGE löschen
25.10.2011 22:34:43
Peter
Hallo Sepp
Vielen Dank
So ist es perfekt!
Gruss, Peter
;

Forumthreads zu verwandten Themen

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