0

如果它满足两个要求,我正在尝试通过 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

他们都自己工作,但如果我嵌套他们就不行。

提前感谢您的帮助

4

2 回答 2

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
于 2013-10-31T04:00:44.183 回答
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
于 2013-10-31T05:07:15.880 回答