[英]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.