gpt4 book ai didi

VBA 比较运算符用大小写计算不正确

转载 作者:行者123 更新时间:2023-12-04 21:38:14 25 4
gpt4 key购买 nike

我有一个代码块一直在错误地求值。我不知道为什么会这样。

我确定这至少与我的“选择案例”有关。如果运算符的顺序发生变化,例如=, >, <<, =, >等评价变化。

我的期望是评估将是 a = b万一highest_header = 24 - 而 24不可避免地分配给highest_header ,我的代码使用我认为是错误的“案例”来执行此操作。

我稍微简化了代码片段,但结果是一样的——比较被评估为 a = b = FALSEa < b = TRUE

Sub highest_header()
Dim highest_header_count As Integer
Dim a As Integer
Dim b As Integer

a = 24
b = 24

Debug.Print a '24
Debug.Print b '24
Debug.Print TypeName(a) 'Integer
Debug.Print TypeName(b) 'Integer

Select Case highest_header_count
Case a = b
highest_header_count = b
Case a < b
highest_header_count = b
Case a > b
highest_header_count = a
End Select

End Sub

如有任何见解,我们将不胜感激。

最佳答案

您的 Select Case 正在将值为 0 的整数与 bool 值进行比较。

a = b为 True 为 -1, a < b为 False,即 0, a > b为 False,即 0。

这就是为什么您在 a < b 上受到打击的原因.

关于VBA 比较运算符用大小写计算不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446282/

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