在1-10区间数据
当kk<1时就加1
当kk>=10 就减1
现在采用的是下列方法,请问各位大侠,还有其它方法吗?Sub llss()
  kk = 0
  For ii = 0 To 50
    If kk < 1 Then
      kk = 0
      tt = 1
    ElseIf kk >= 10 Then
      kk = 10
      tt = 2
    End If
    Select Case tt
      Case 1
        kk = a1(kk)
      Case 2
        kk = a2(kk)
    End Select
    Debug.Print kk
  Next ii
End Sub
Function a1(kk) As Integer
   a1 = kk + 1
End Function
Function a2(kk) As Integer
   a2 = kk - 1
End Function结果如下 
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 9 
 8 
 7 
 6 
 5 
 4 
 3 
 2 
 1 
 0 

解决方案 »

  1.   


    Private Sub Form_Load()
    Static kk As Integer
    Static vBool As Boolean
    Dim ii As Integer
    For ii = 0 To 50
    If kk < 1 Then vBool = False
    If kk >= 10 Then vBool = True
    If vBool = False Then
    kk = kk + 1
        Debug.Print kk
        Else
       kk = kk - 1
        Debug.Print kk
    End If
    Next
    End Sub
      

  2.   

    当kk>=10 就减1 
    LZ你的结果里怎么还会有10呢? 
      

  3.   

    Sub llss() 
      kk = 1
      For ii = 0 To 50
        If kk = 1 Then
          tt = 1
        ElseIf kk = 10 Then
          tt = -1
        End If
        Debug.Print kk
        kk = kk + tt
      Next ii
    End Sub 绝对在 1- 10 区间。
      

  4.   


    Sub llss()
      Dim kk As integer
      Dim intAdd As integer
      Dim ii As integer
      For ii = 0 To 50 
        If kk<1  Then intAdd=1
        If kk>=10  Then intAdd=-1  
        kk=kk+intAdd
        Debug.Print kk 
      Next ii 
    End Sub