gpt4 book ai didi

excel - 无法在 VBA 中返回正确的变量计数

转载 作者:行者123 更新时间:2023-12-04 20:31:17 25 4
gpt4 key购买 nike

我有一个宏,它根据用户输入的不同时间范围运行场景。如果用户输入 2 个或更多场景作为日期,它可以正常工作 - 如果有人只输入一个日期,它会失败。此 block 适用于 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

但我收到一个溢出错误。抱歉缺少工作数据,但如果有帮助,我可以删除一些内容。提前致谢。

最佳答案

你的答案几乎就在那里:

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

我输入了一些“错误处理”以避免在没有输入任何日期的情况下运行代码(if 语句的第一部分)。然后检查 B5 中有值但 B6 中没有值的事件,在这种情况下将计数设置为 1(if 语句的第二部分)。最后是您在 Else 子句中的原始计数器。

或者,您可以使用标题行。当 B5 中没有值时,这将为您提供 0。当然还有其他单元格中的计数。但是,这仅在 B4 中有值时才有效。
countofscenarios = Range(Range("B4"), Range("B4").End(xlDown)).Count -1

关于excel - 无法在 VBA 中返回正确的变量计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50216107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com