今天在VBA中出了个错i=inputbox("")    '这儿应该是j=inputbox("")
k=inputbox("")
for i=i to k      '应该是i=j to k
sh1.cells(1,1)=sh2.cells(i,2)...............
sh1.printout
next问题我找出来了,但是有个疑问,分步运行时为什么他不运行for内的循环??直接跳过循环就走了???

解决方案 »

  1.   

    明显你上面的代码已经出错了 所以不执行FOR
      

  2.   

    跟i = i无关. 以下代码是会进入循环的
    跟你输入的i的初始值有关.是否>=k
    Private Sub Command1_Click()
    Dim i As Integer
    i = 1
    For i = i To 10
            Debug.Print i
    Next
    End Sub
      

  3.   

    如果你第二次输入的值比第一次输入的数值小,循环体就不会被执行。(但我想不通的是,按你‘正确’的代码,第一次输入的值应该比第二次小,你的‘错误’代码的for循环也应该进入的)
      

  4.   

    是不是你的变量定义有问题啊,比如说,你在上面将i定义成了string型,呵呵。
      

  5.   

    For counter = start To end [Step step]
       值       循环执行,如果 
    正数或 0   counter <= end 
    负数       counter >= end 
      

  6.   

    i,j,k 都声明成int了啊
    还有输入后2 to 2 不行,又试3 to 10还是不运行循环里的句子,用分步看了下,就是for循环一句也不运行
      

  7.   

    谢谢你这句提醒,我又看了下完整的程序,发现写成了
    for i=i to j
    晕啊