VBA:如果单元格包含文本,则删除目标行?

时间:2017-01-15 10:08:05

标签: excel vba

我有一个像这样的电子表格:

Y栏 去掉 去掉 去掉 删除

我希望用户能够通过单击每个删除文本来删除每一行。这应该只删除用户点击删除的行,即目标行。

这是我的代码:

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
由于某种原因,这没有任何作用。

我还想添加一个只从第17行开始删除这些行的条件。

有人可以告诉我如何让这个工作正常吗?感谢

2 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分:1)

对我而言,它适用于Workbook_SheetSelectionChange事件。

试试这个:

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

您还可以通过运行来验证是否启用了事件:

Sub EnableEvents()
  Application.EnableEvents = True
End Sub