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 ?  它怎么换转换真呢?
前辈解释下:

解决方案 »

  1.   


    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