代码在活动工作表上工作正常,但当它尝试使用另一个工作表中的相同代码时,无限循环。
我强制休息,并检查即时窗口中的值。
? colRAE.count
187433
? cmbNumberOfRuns
3
? colRAE.count < cmbNumberOfRuns
True
我的while循环基于最后一部分,似乎是循环继续的原因。
任何人都能解释一下吗?
答案 0 :(得分:0)
我唯一的猜测是你正在进行字符串比较。如果cmbNumberOfRuns
是ComboBox,则通过调用它来获取默认属性 - .Text
。如果colRAE.Count被解释为String,您将得到问题中显示的结果:
Sub TextCompare()
Dim cmbNumberOfRuns As String
Dim colRAE As String
cmbNumberOfRuns = "3"
colRAE = "187433"
Debug.Print colRAE < cmbNumberOfRuns
End Sub
我建议显式调用cmbNumberOfRuns
的属性(为了便于阅读和避免重复此问题),并明确地转换为Long进行数值比较:
Debug.Print colRAE.Count < CLng(cmbNumberOfRuns.Text)