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

Forumthread: von Bedinung abhäniges Löschen von Zeilen

von Bedinung abhäniges Löschen von Zeilen
Bedinung
Guten Morgen,
habe ein Problem mit dem automatisierten Löschen von Zeilen:
In einer Tabelle möchte ich alle Zeilen gelöscht bekommen, in denen die Spalte B leer ist oder den Eintrag "Oe-Summe" enthält. Der Versuch, eine entsprechende Wenn-Funktion einzubauen (wenn$b2="oe-Summe";"";c2) führt beim Versuch, diese über die ganze Tabelle zu ziehen zur Anzeige "Zirkelbezug".
viele Grüße
Gorkij
Anzeige
AW: von Bedinung abhäniges Löschen von Zeilen
15.09.2009 13:02:34
Bedinung
Hi Gunter,
o.k., es passiert genau das, was ich auch in meiner Tabelle erreichen wollte, nur wie krieg' ioch diese Funktion jetzt in meine Mappe?
Anzeige
AW: von Bedinung abhäniges Löschen von Zeilen
15.09.2009 13:08:07
Bedinung
Also, du musst dir zuerst einen Command Button auf deiner Tabelle erstellen. Mit einem Rechtsklick und "Code anzeigen" kommst du auf die VBA-Ebene und dort fügst du diesen Code ein.
Private Sub CommandButton1_Click()
Dim z As Long, lZ As Long
lZ = Sheets("Tabelle1").Cells(65536, 2).End(xlUp).Row
For z = lZ To 1 Step -1
With Sheets("Tabelle1")
If .Cells(z, 2) = "" Or .Cells(z, 2) = "oe-Summe" Then .Rows(z).Delete
End With
Next
End Sub

Dann sollte das schon funktionieren.
Gunter
Anzeige
bedingtes Löschen von Zeilen
15.09.2009 13:29:54
Zeilen
Hi zusammen,
( With ) Sheets("Tabelle1") ist überflüssig, wenn der Code im Modul dieses Tabellenblatts steht.
Mit dem folgenden Code flackerts etwas weniger,
weil das Löschen am Schluss auf einen Schlag erfolgt:

Private Sub CommandButton1_Click()
Dim rngC As Range, rngDel As Range
For Each rngC In Cells(1, 2).Resize(Cells(Rows.Count, 2).End(xlUp).Row)
If rngC = "" Or rngC = "oe-Summe" Then
If rngDel Is Nothing Then
Set rngDel = rngC
Else
Set rngDel = Union(rngDel, rngC)
End If
End If
Next rngC
If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: bedingtes Löschen von Zeilen
15.09.2009 14:08:20
Zeilen
Sorry, aber ich weiß zwar, wie man eine Schaltfläche herstellt, aber was muss ich tun, damit dieser Button den eingefügten VBA-Code ausführt?
Brauche halt noch Anleitung in Schreibschrift
AW: bedingtes Löschen von Zeilen
15.09.2009 14:13:31
Zeilen
Du darfst keine Schaltfläche herstellen sondern verwende den CommandButton unter ActiveX Steuerelemente. Diesen mit der rechten Maustaste anklicken und Code eingeben auswählen.
Anzeige
AW: bedingtes Löschen von Zeilen
15.09.2009 14:34:25
Zeilen
Steuerelemente gefunden, Button eingerichtet - und dennoch einen Weg gefunden, damit es nicht funktioniert. Habe die Datei mal angefügt, vielleicht ist da ja zu erkennen, wo der Feher liegt.
Gorkij

Die Datei https://www.herber.de/bbs/user/64429.xls wurde aus Datenschutzgründen gelöscht


Anzeige
AW: bedingtes Löschen von Zeilen
15.09.2009 14:59:25
Zeilen
Das muss dann natürlich angepasst werden
Private Sub CommandButton1_Click()
Dim z As Long, lZ As Long
Application.ScreenUpdating = False
lZ = Sheets("Controlling").Cells(65536, 3).End(xlUp).Row
For z = lZ To 1 Step -1
With Sheets("Controlling")
If .Cells(z, 3) = "" Or .Cells(z, 3) = "oe-Summe" Then .Rows(z).Delete
End With
Next
Application.ScreenUpdating = True
End Sub

Anzeige
AW: bedingtes Löschen von Zeilen
15.09.2009 15:14:39
Zeilen
und wenn "oe-Summe" in der Tabelle "Oe-Summe:" heisst dann muss das so aussehen
Private Sub CommandButton1_Click()
Dim z As Long, lZ As Long
Application.ScreenUpdating = False
lZ = Sheets("Controlling").Cells(65536, 3).End(xlUp).Row
For z = lZ To 1 Step -1
With Sheets("Controlling")
If .Cells(z, 3) = "" Or .Cells(z, 3) = "Oe-Summe:" Then .Rows(z).Delete
End With
Next
Application.ScreenUpdating = True
End Sub

Anzeige
AW: bedingtes Löschen von Zeilen
15.09.2009 15:22:17
Zeilen
DANKE!!
Es Funzzt - musste nur noch "oe-summe" in d"Oe-Summe:" ändern, den Großbuchstaben hatte ich zwar schnell als mögliche Fehelrquelle erkenant, aber dann war da noch dieser schäbige Doppelpunkt.
nochmals herzlichen Dank.
AW: bedingtes Löschen von Zeilen
15.09.2009 15:30:48
Zeilen
Gern geschehen.
OT @Gorki : Anleitung in "Handschrift"
15.09.2009 14:41:19
NoNet

Hallo Gorki,
Der Ausdruck "Anleitung in Handschrift" ist gut - allerdings für den Antwortenden aufwändiger zu erstellen.
Bleibt zu hoffen, dass Du diese "Handschrift" dann auch gut lesen kannst ;-)
Gruß, NoNet

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