Private Sub Command1_Click()
s1 = InStr("123", "1")
s2 = InStr("123", "2")
s3 = InStr("123", "3") If s1 < s2 < s3 Then
s4 = "1,2,3"
End If
If s1 < s3 < s2 Then
s4 = "1,3,2"
End If
If s2 < s3 < s1 Then
s4 = "2,3,1"
End If
If s2 < s1 < s3 Then
s4 = "2,1,3"
End If
If s3 < s1 < s2 Then
s4 = "3,1,2"
End If
If s3 < s2 < s1 Then
s4 = "3,2,1"
End If
MsgBox s4End Sub
结果为 3,2,1
是不是数值表达式比较都自动转换?非0转换-1(真) 零转换0(假)
怎么不进行逻辑比较呢?比如s3>s2 ? 它怎么换转换真呢?
前辈解释下:
s1 = InStr("123", "1")
s2 = InStr("123", "2")
s3 = InStr("123", "3") If s1 < s2 < s3 Then
s4 = "1,2,3"
End If
If s1 < s3 < s2 Then
s4 = "1,3,2"
End If
If s2 < s3 < s1 Then
s4 = "2,3,1"
End If
If s2 < s1 < s3 Then
s4 = "2,1,3"
End If
If s3 < s1 < s2 Then
s4 = "3,1,2"
End If
If s3 < s2 < s1 Then
s4 = "3,2,1"
End If
MsgBox s4End Sub
结果为 3,2,1
是不是数值表达式比较都自动转换?非0转换-1(真) 零转换0(假)
怎么不进行逻辑比较呢?比如s3>s2 ? 它怎么换转换真呢?
前辈解释下:
Private Sub Command1_Click()
s1 = InStr("123", "1")
s2 = InStr("123", "2")
s3 = InStr("123", "3") If s1 < s2 and s2 < s3 Then
s4 = "1,2,3"
End If
If s1 < s3 and s3 < s2 Then
s4 = "1,3,2"
End If
If s2 < s3 and s3 < s1 Then
s4 = "2,3,1"
End If
If s2 < s1 and s1 < s3 Then
s4 = "2,1,3"
End If
If s3 < s1 and s1 < s2 Then
s4 = "3,1,2"
End If
If s3 < s2 and s2 < s1 Then
s4 = "3,2,1"
End If
MsgBox s4End Sub