VBA – 基于其他两个单元更改单元格值
我需要这个脚本来清空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 Cell不会自行更改为待处理状态,因为D5 Cell确实会自行清除。
难道是因为我使用单元格C5的数据validation? 它提取名为= 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语句上触发。
如果他们正在testing相同的东西,则不需要其他if语句。