繁体   English   中英

Excel VBA和嵌套的ifs

[英]Excel VBA & nested ifs

我试图通过VBA在Excel 2007中删除行,如果它满足两个要求:终止日期大于提供的终止日期(variablesTosToRemoveTerminatedMembersFrom),并且如果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

它们都自己工作,但如果我嵌套它们,则不会。

谢谢您的帮助

试试下面的代码

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

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

她的实际意思是将终止日期替换为“”,而不是删除行。

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

For i = lastRow To 2 Step -1

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

Next i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM