[英]VBA - Change Cell Value based on two other cells
我需要此脚本来清空4个单元格,并在同时满足两个条件时将一个单元格从“完成”更改为“待处理”。
我对VBA还是很缺乏经验,所以对非常基本和丑陋的代码表示歉意:P
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("A5:B5").ClearContents
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("D5:E5").ClearContents
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("C5").Value = "Pending"
End If
End If
End If
我不明白为什么C5单元格在这种情况下不会将自己更改为Pending,因为D5单元格会清除自身。
可能是因为我对单元格C5使用了数据验证吗? 它获取一个名为= TaskState的列表
TaskState由以下4个选项组成:待处理挂起完成
非常感谢
尝试这个:
If Range("C5").Value Like "Done" And Range("D5").Value = "1" Then
Range("A5:B5").ClearContents
Range("D5:E5").ClearContents
Range("C5").Value = "Pending"
End If
问题是,一旦您清除了D列上的内容,它就不再= 1,并且第三个If返回false。 因此,它永远不会在第三个if语句上触发。
如果它们正在测试同一件事,则不需要其他if语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.