我有一个宏,它根据用户输入的不同时间帧运行场景。如果用户输入2个或更多场景作为日期,它将正常工作 - 如果有人仅输入一个日期,则会失败。这个块适用于2个或更多:
countofscenarios = Range(Range("B5"), Range("B5").End(xlDown)).Count
我只是无法弄清楚如何只使用1个日期使其工作 - 我尝试了不同的变化:
If Range("B5") <> "" And Range("B6").End(xlDown).Count = 0 Then
countofscenarios = 1
Else
countofscenarios = Range(Range("B5"), Range("B5").End(xlDown)).Count
End If
但是我收到了溢出错误。对于缺乏工作数据表示歉意,但如果有帮助,我可以删除一些内容。提前谢谢。
答案 0 :(得分:1)
你的答案几乎就在那里:
valueChanges()
我输入了一些&#34;错误处理&#34;避免在没有输入任何日期的情况下运行代码(if语句的第一部分)。然后检查B5中有值但不是B6的事件,在这种情况下将count设置为1(if语句的第二部分)。最后是你在Else条款中的原始计数器。
或者,您可以使用标题行。当B5中没有值时,这将给出0。当然还有其他细胞的数量。这只适用于B4中有值的情况。
If Range("B5") = "" Then
MsgBox("Enter a date")
Exit sub
ElseIF Range("B6") = "" AND Range("B5") <> "" Then
countofscenarios = 1
Else
countofscenarios = Range(Range("B5"), Range("B5").End(xlDown)).Count
End if