Excel VBA&嵌套ifs

时间:2013-10-31 03:41:38

标签: excel-vba if-statement nested vba excel

如果它满足两个要求,我试图通过VBA删除Excel 2007中的行:提供的终止日期大于一个(变量datesToRemoveTerminatedMembersFrom)以及列R中是否有“D”。

我正在使用的代码没有给我一个错误,但也没有删除该行:

For i = lastRow To 2 Step -1
    If Range("R" & i).Value = "D" Then
        If Range("D" & i).Value > datesToRemoveTerminatedMembersFrom Then
            Rows(i).Delete
        End If
    End If
Next i

他们都是自己工作,但如果我把它们筑巢就不行。

感谢您的提前帮助

2 个答案:

答案 0 :(得分:1)

尝试以下代码

For i = lastRow To 2 Step -1
    If UCase(Range("R" & i).Value) = "D" Then
        If CDate(Range("D" & i).Value) > CDate(datesToRemoveTerminatedMembersFrom) Then
            Rows(i).Delete
        End If
    End If
Next

答案 1 :(得分:0)

我实际上不再需要这个了。我正在设置电子表格应用程序的人,要求我删除终止日期大于提交日期的每条记录。

实际上意味着什么用“”替换终止日期,而不是删除行,doh。

感谢您的帮助,我最终使用的代码是:

For i = lastRow To 2 Step -1

        If CDate(Range("D" & i).Value) > CDate(datesToRemoveTerminatedMembersFrom) Then
            Range("D" & i) = ""
        End If

Next i