Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

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

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige