繁体   English   中英

VBA-根据其他两个单元格更改单元格值

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

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