如果单元格中存在某些值,将删除行的Excel宏,然后将连接?

时间:2016-08-23 13:52:06

标签: excel vba excel-vba macros

如果单元格中存在某些字符串,我似乎无法拼凑出将删除行的VBA代码。我只能轻松地做一个,但无法弄清楚如何包含多个字符串。

我已经完成了最后一部分,这很容易,只是将一个连接公式应用到一个范围,但我已经尝试了很多东西来使第一部分正确并且没有任何作用。

下面是我一起攻击的内容,只有当一个特定字符串在其中时才会删除行"无"。如果单词" Subtotal"," Estimate," Empty"我还需要删除行。在细胞中。

With Sheets("Customer Copy")
    Firstrow = .UsedRange.Cells(1).Row
    Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
    For Lrow = Lastrow To Firstrow Step -1
    With .Cells(Lrow, "B")
    If Not IsError(.Value) Then

                If .Value = "None" Then .EntireRow.Delete

    End If

        End With

    Next Lrow

End With

    Worksheets("Customer Copy").Range("A1:A200").Formula = "=CONCATENATE(B1, D1, E1)"

感谢您的帮助!!!

3 个答案:

答案 0 :(得分:2)

或者,这是Select Case的一个很好的例子:

Select Case Trim(LCase(.Value))
    Case "none", "subtotal", "estimate", "empty":  .EntireRow.Delete
End Select

答案 1 :(得分:0)

我认为这会起作用

If .Value = "None" or .Value = "Subtotal" or .Value = "Estimate" or .Value = "Empty" Then

答案 2 :(得分:0)

我认为您只需添加所有条件,如下所示

If .Value = "None" Or .Value = "Subtotal" Or .Value = "Estimate" Or .Value = "Empty"  Then .EntireRow.Delete