做VBA的时候,需要判断变量是不是在一个区间内,写成了下面的语句:
If 1 <= countToP <= 6 Then
ActiveWorkbook.Sheets(1).Cells(19, countToP + 2).Value = "[*] " & checkboxContent
ElseIf countToP > 6 Then
MsgBox "xxxx", vbExclamation + vbOKOnly, "Warning"
Exit For
End If
结果发现countToP总是可以进到if里面,永远进不了elseif。
查了下发现原来VBA里面的区间判断不能写成a<x<b的形式,
必须写成x>a and x<b,不然系统会判断为x>a or x<b,这样就错了。