2017-01-15 18 views
1

Ich habe eine Tabelle wie folgt:VBA: Zielzeile löschen, wenn Zelle Text enthält?

Spalte Y entfernen

I Entfernen Entfernen Entfernen wollen, dass der Benutzer in der Lage sein, jede Zeile zu löschen, die von jedem der Texte Entfernen klicken. Dies sollte nur die Zeile löschen, auf die der Benutzer geklickt hat, für die Zielzeile entfernen.

Hier ist mein Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Target.Column = 25 And Target.Value = "Remove" Then 
Range("A" & ActiveCell.Row).EntireRow.Delete 
End If 
End Sub 

aus irgendeinem Grund nichts tut.

Ich möchte auch eine Bedingung hinzufügen, die nur diese Zeilen ab Zeile 17 löscht.

Kann mir bitte jemand zeigen, wie man das richtig funktioniert? Dank

Antwort

1

versucht diese

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    With Target 
     If .Column = 25 And .Row > 16 And .value = "Remove" Then .EntireRow.Delete 
    End With 
End Sub 
+0

Dank. Dies scheint 50/50 zu funktionieren. Wenn ich meine Arbeitsmappe schließe und sie erneut öffne und auf klicke, um die Zeilen zu löschen, werden die Zeilen gelöscht. Jedoch, wenn ich die Zellen wieder auffüllen, dann funktioniert es nicht und ich muss die Arbeitsmappe schließen und jedes Mal neu öffnen, damit dies funktioniert :( – user7415328

+0

Es funktioniert für mich. Bitte erläutern Sie, was mit Ihnen passiert. – user3598756

+0

haben Sie durchkommen es? – user3598756

1

Für mich ist es mit der Workbook_SheetSelectionChange Veranstaltung gearbeitet.

Try this:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
If Target.Column = 25 And Target.Value = "Remove" Then 
    Range("A" & ActiveCell.Row).EntireRow.Delete 
End If 
End Sub 

Sie können auch überprüfen, ob Ereignisse durch Ausführen aktiviert sind:

Sub EnableEvents() 
    Application.EnableEvents = True 
End Sub 
+0

danke aus irgendeinem Grund hatte ich deaktiviert Veranstaltungen – user7415328

Verwandte Themen