各位大虾帮忙,
  我现在想实现这个功能,我是在Excel中宏里面编程的,在一个活动Sheet表里,用鼠标随便点一个单元格,就能在这个单元格里写数,然后一直写一列,  当有一个数据写错了,需要返回上一行或者上几行时,用鼠标重新点一个单元格,又能重新写数, 我用 MsgBox ActiveCell.Address 得到的当前单元格的地址是$H$5
不能直接写到ActiveSheet.Cells(1, 5) = 1 ,不能把其中的(1, 5)换成(ActiveCell.Address),请问该怎么弄啊,急等啊

解决方案 »

  1.   

    直接换会"类型不匹配"的
    你为啥不直接写成ActiveCell = 1呢
      

  2.   

    不过你可以这样写哦:)
    ActiveSheet.Range(ActiveCell.Address) = 1
      

  3.   

    写成ActiveCell = 1是可以给当前单元格赋值,不过我要写一列数啊,写完这个单元格要直接切换到下一个单元格啊,怎么切换呢,所以我要读地址啊,
      

  4.   

    这些写法都行,楼主9:11发帖时还没看见我09:04:13发在2楼的帖啊,是不是网络延迟很厉害啊:)
    ActiveSheet.Range(ActiveCell.Address) = 1
    ActiveSheet.Range("D6:F9") = 1
    ActiveSheet.Range("$C$3") = 1
      

  5.   

    ActiveSheet.Range(ActiveCell.Address) = 1可以写的,
    就是现在是切换的问题,能不能有两个中间变量,比如,a ,b
    鼠标点一下,就把当前活动单元的行给a,列给b
    然后要跳到下一个单元格直接
    ActiveSheet.Cells(a+1, b) = 1 
    能不能有这种方法啊
      

  6.   

    先用ActiveCell = 1
    然后根据ActiveCell.Address取右边数字对应行,假如得到的是 $H$5 (H是第8列,asc("H")-64可以得到) 
    再用循环即可赋值
    for i=6 to excelapplication.usedrange.rows.count
    ActiveSheet.Cells(8,i) = xx
    next
      

  7.   

    那就是ActiveCell.Row和ActiveCell.Column啊