Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1632to1636
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

Zeile komplett löschen bei entsprechendem Inhalt

Zeile komplett löschen bei entsprechendem Inhalt
19.07.2018 09:31:36
arek
Hallo zusammen,
ich habe folgenden Code, mit dem eigentlich der Inhalt der ganzen Zeile gelöscht werden soll, sofern in der Spalte 2 die Wörter closed bzw. stopped auftauchen...Allerdings ist es im Moment so, dass nur der Inhalt in Spalte 1 gelöscht wird und beispielsweise der Inhalt in Spalte 3 der entsprechenden Zeile stehen bleibt...Wie muss ich den Code hierzu umändern? Vielen Dank im Voraus!!
Hier noch mein Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
If Not Intersect(Target, Columns(2)) Is Nothing Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For lngRow = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
With Cells(lngRow, 2)
If .Value = "closed" Or .Value = "stopped" Then Rows(lngRow).Delete
End With
Next lngRow
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Application.CalculateFullRebuild
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile komplett löschen bei entsprechendem Inhalt
19.07.2018 09:39:23
Hajo_Zi
mit
Rows(lngRow).Delete
wird die gesamte Zeile gelöscht.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Zeile komplett löschen bei entsprechendem Inhalt
19.07.2018 10:14:40
Daniel
Hi
Dein Code löscht die ganze Zeile und die darunter liegenden Zellen rutschen um 1 nach oben.
Stehen in Spalte 1 und 3 feste Werte oder Formeln?
Bei Formeln könnte es natürlich sein, dass durch das nachrücken wieder der Wert der ursprünglich gelöschten Zeile gelesen wird.
Zum Testen kannst du ja Mal das .Delete durch .Clear ersetzen.
Außerdem würde ich, wenn du schon die With-Klammer hast, diese auch beim Löschen verwenden: .EntireRow.Delete
Gruß Daniel
AW: Zeile komplett löschen bei entsprechendem I
19.07.2018 11:19:54
arek
Hi zusammen,
vielen Dank für eure Antworten!
@Daniel: Wenn ich .Delete durch .Clear ersetze, ist es so, dass in der entsprechenden Zeile der Inhalt der Spalte 1 und Spalte 2 gelöscht wird, sofern stopped bzw. closed in Spalte 2 vorhanden ist...
Zum Hintergrund nochmal: Das Macro wird auf eine Liste von Angeboten angewendet, wo in Spalte 1 der Name steht, in Spalte 2 der jeweilige Status (kann active, closed oder stopped sein) und in Spalte 3 die entsprechende ID steht...Der Status des Angebots ist wiederum in einer anderen Liste vorhanden und wird bei einer Aktualisierung automatisch in die Liste der Angebote übertragen per Macro.
Noch eine Frage: Wo genau würdest du das .EntireRow.Delete einfügen?
Vielen Dank nochmal!
Anzeige
AW: Zeile komplett löschen bei entsprechendem I
19.07.2018 12:59:20
Torsten
Hallo,
sollte eigentlich funktionieren mit Daniels Hinweis. So:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
If Not Intersect(Target, Columns(2)) Is Nothing Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For lngRow = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
With Cells(lngRow, 2)
If .Value = "closed" Or .Value = "stopped" Then
.Rows(lngRow).Delete
End With
Next lngRow
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Application.CalculateFullRebuild
End If
End Sub
Gruss Torsten
Anzeige
AW: Zeile komplett löschen bei entsprechendem I
19.07.2018 13:29:02
arek
Hi Torsten,
danke für deine Antwort!Leider kommt bei deinem Code dann folgende Fehlermeldung: "Fehler beim Kompilieren-End With ohne With"...kannst du mir da weiterhelfen?
AW: Zeile komplett löschen bei entsprechendem I
19.07.2018 16:17:09
UweD
Aus
                   If .Value = "closed" Or .Value = "stopped" Then
.Rows(lngRow).Delete
mache
                   If .Value = "closed" Or .Value = "stopped" Then _
.Rows(lngRow).Delete

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige