如何测试三个条件,如果所有条件都为TRUE,则删除整行?

时间:2017-11-07 21:31:19

标签: vba excel-vba ms-access access-vba excel

我有一张表格,我想检查列R中的语言<> '现金';如果'现金'确实跳到下一行。如果列R<> '现金',检查A列是否有重复的ID(可能有也可能没有重复)。如果找到重复项,我想检查列K的正/负值,如100000& -100000,然后删除负值出现在列K中的整行。我该怎么做?

遵循上述角色,第6行将在下图中删除。

enter image description here

我可以在Excel中使用VBA,或在Access中使用SQL / VBA。

1 个答案:

答案 0 :(得分:0)

这看起来效果很好。

Sub TryMe()
Dim i As Long
Dim j As Long
Dim ws As Worksheet

Set ws = Sheet1

For i = 2 To 13
For j = 2 To 13

If ws.Range("A" & i).Value = ws.Range("A" & j).Value Then
    If ws.Range("A" & i).Offset(0, 10).Value = -(ws.Range("A" & j).Offset(0, 10).Value) Then
        If ws.Range("A" & i).Offset(0, 17).Value <> "Cash" Then
            Rows(i).EntireRow.Delete
        End If
    End If
    Exit For
End If

Next j
Next i

End Sub