'Require New Due Date Comment
If Range(Target.Address).Value <> "" Then
MsgBox "Provide Reason for New Due Date", vbOKOnly
Range(Target.Address).Offset(0, 1).Select
End If
大家好,希望您能提供帮助,我是VBA的新手,但是直到现在为止,我成功地更改了老板要求我提供的模板代码。虽然这个让我很沮丧。该代码是由不再在公司工作的人编写的。
我有一个电子表格,其中有几列,其中有些被锁定以便用户不能输入,而其他则不能,以便用户可以更改从数据库中提取的任务的值。当在“新到期日期”列中输入日期时,该特定的代码段应该弹出一个消息框。取而代之的是,当我在前面的列中输入评论时(取消评论部分),它会弹出。
我尝试在其他if语句中指定该列,但这只是完全关闭了弹出窗口。
对于该取消评论部分,我几乎具有完全相同的逻辑,并且工作正常。但是,它可以使另一个像元的附加限定词等于要提取的“已取消”的值。仅当该单元格被列为“取消”时,才会发生上述情况,但是如果任务被取消,则不需要这样做,因此不应在每次取消任务时弹出它。
谢谢!
ETA:忘了说,它按预期工作,直到我应经理的要求在工作表中添加了另一列。我发现它没有指定特定范围就可以了。
答案 0 :(得分:0)
弄清楚了。后面有一段代码引用了错误的列(之前是O)。谢谢大家!
If Not Intersect(Target, Range("P14:P1437")) Is Nothing Then
On Error GoTo PError:
If InStr(1, Target.Address, ":", 1) > 0 Then
GoTo PError
End If