【发布时间】:2017-09-27 11:04:11
【问题描述】:
我有一个代码块一直在错误地评估。我不知道为什么会这样。
我已经确定这至少与我的“选择案例”有关。如果运算符的顺序发生变化,例如=, >, < 或 <, =, > 等评估发生变化。
我的期望是评估将是a = b,可能会出现highest_header = 24 - 虽然24 不可避免地被分配给highest_header,但我的代码使用我认为错误的“案例”来执行此操作。
我稍微简化了代码 sn-p,但结果是一样的 - 比较被评估为 a = b = FALSE 和 a < 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
任何见解将不胜感激。
【问题讨论】: