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

Zeile löschen bestimmt zelle leer

Zeile löschen bestimmt zelle leer
11.06.2006 14:58:10
Hans
Hallo
Ich möchte Spalte B und C duchsuchen.
Ist eine Zelle in Spalte B und die danebenliegende Zelle in Spalte C leer ODER steht ein Text in den Zellen, dann soll die komplette Zeile gelöscht werden.
Wie kann ich das mit einem Makro am besten machen.
gruß und danke
Hans

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen bestimmt zelle leer
11.06.2006 17:09:06
fcs
Hallo Hans,

Sub SpalteBundCaufraumen()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
For reihe = .UsedRange.Row + .UsedRange.Rows.Count -1 To 1 Step -1
If (IsEmpty(Cells(reihe, "C")) And IsEmpty(Cells(reihe, "D"))) Or _
(Not IsNumeric(Cells(reihe, "C")) And Not IsNumeric(Cells(reihe, "D"))) Then
.Rows(reihe).Delete
End If
Next
End With
End Sub

Die If Bedingung ggf. anpassen. Mir war nicht eindeutig klar was passieren soll, wenn Text in den Zellen steht. Soll die Zeile gelöscht werden wenn in beiden Spalten Text steht oder wenn in einer der beiden Spalten Text steht. Obige Variante löscht Zeile wenn in beiden Spalten Text steht. Unten die If-Bedingung löscht Zeile wenn in einer Spalten Text steht.

If (IsEmpty(Cells(reihe, "C")) And IsEmpty(Cells(reihe, "D"))) Or _
Not IsNumeric(Cells(reihe, "C")) Or Not IsNumeric(Cells(reihe, "D")) Then

Vorsicht: Makro löscht schnell ohne Möglichkeit der Wiederherstellung!
mfg
Franz
Anzeige
AW: Zeile löschen bestimmt zelle leer
11.06.2006 17:20:02
Josef
Hallo Hans!
Ich nehme an, daß die Daten ab Zeile 2 beginnen.
Kopiere den Code in ein allgemeines Modul.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub LeerUndTextWeg()
Dim rngDel As Range
Dim varA As Variant
Dim lngR As Long

varA = Range("B2:C" & Application.Max(Cells(Rows.Count, 2).End(xlUp).Row, _
  Cells(Rows.Count, 3).End(xlUp).Row))

For lngR = 1 To UBound(varA, 1)
  
  If (Trim$(varA(lngR, 1)) = "" And Trim$(varA(lngR, 2)) = "") Or _
    (Not IsNumeric(varA(lngR, 1)) Or Not IsNumeric(varA(lngR, 2))) Then
    
    If rngDel Is Nothing Then
      Set rngDel = Rows(lngR + 1)
    Else
      Set rngDel = Union(rngDel, Rows(lngR + 1))
    End If
    
  End If
  
Next

If Not rngDel Is Nothing Then rngDel.Delete

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zeile löschen bestimmt zelle leer
11.06.2006 18:53:50
Hans
Hallo ihr beiden
Funktioniert beides ! Vielen Dank für eure Hilfe.
Bin echt begeistert von herber.de und allen usern. Ohne euch wäre ich oft am Rande des Wahnsinns ;-)
gruß
Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige