songyangk(小草) 
不行,写上去的是D1---D20,不是我已付给变量的值

解决方案 »

  1.   

    我用str="D" & STR(i )也不行
      

  2.   

    除非用数组,如:Dim D(1 to 20) 程序中:
    For I=1 to 20
      EXELE的某一单元格=D(I)
      EXCEL的某一单元格向下移动
    NEXT否则你说的方法是不可能的.
      

  3.   

    哦,我知道了
    for i=1 to 20
      xlSheet.Range(xx)="D1" & "--" & "D" & cstr(i)
    next i
      

  4.   

    Sea2001(蓝色海洋) 
    这样也不行的
      

  5.   

    真的还是假的啊?
    其实我一直使用VB调用Excel的方法来打印报表的
    这样真的可以啊。
    说不定你的程序写错了,可以的话拿出来看看吧!
      

  6.   

    如果D1---D20 的数据类型为 LONG
    Dim str as string
    Dim D AS LONG     'D 的数据类型必须与 D1--D20 的数据类型一样
    FOR I=1 TO 20
       str="D" & cstr(i)
       D=CLNG(STR)
      EXELE的某一单元格=D
      EXCEL的某一单元格向下移动
    NEXT  
      

  7.   

    比如列F11开始
    with ThisWorkbook.Sheets("Sheet1")
     for i=1 to 20
       .Cells(10+i,"F").value=.Cells(i,"D").value
     next i
    end with
      

  8.   

    小妹妹,怎么還沒有搞好啊,D1.....D20代表变量, “D”&I只是個字符串而已. 怎么能用字符串去作變量的值呢??醒醒吧.
      

  9.   

    如果D1---D20 的数据类型为 LONG
    Dim str as string
    Dim D AS LONG    'D 的数据类型必须与 D1--D20 的数据类型一样
    FOR I=1 TO 20
      str="D" & cstr(i)
      D=CLNG(STR)
      EXELE的某一单元格=D
      EXCEL的某一单元格向下移动
      D=0
    NEXT