在excel里面添加了两列,
在第一列中的某个cell里面添加一个数据的时候,在第二列的相应的cell里面记录上他的顺序号。
其中,第一列中添数的次序并不是按从上而下的顺序添加的。
请问有什么好的办法?
最好不用宏

解决方案 »

  1.   

    你这个功能需要2个有时序的步骤
    1. 得出目前的最大顺序号
    2. 第一列添加数据时,在新单元格记录最大顺序号+1感觉不用宏是做不到的,因为Excel公式没有时序的概念,所有结果都是立即计算出来的,所以会出现公式之间的循环引用此问题也证明了宏存在的必要性
      

  2.   

    定义相应表单的Worksheet_Change事件处理函数1. 一旦监测到第一列某单元格的输入,求目前第二列所有单元格的最大序列号n
    2. 在第一列被输入单元格的对应第二列单元格写入n+1
      

  3.   

    你这个感觉用excel函数就可以实现了
    在A列里面写下下面的函数,B列 里面输入数据,A累就会自动生成序号。
    不知道是不是你想要的效果
    =IF(B1=""," ",SUBTOTAL(3,B$1:B1))
      

  4.   

    在EXCEL中按F1,然后搜索 RANK() 函数。
      

  5.   

    楼主的意思你们理解有误吧,否则随便一个公式就解决问题了
    我理解应该是这个要求
    未输入时("_"代表空)
    _
    _
    _在第2行第1列输入a,第2行第2列显示1
    _
    a   1
    _在第1行第1列输入b,第2行第2列显示2
    b   2
    a   1
    _在第3行第1列输入c,第3行第2列显示3
    b   2
    a   1
    c   3
      

  6.   

    解决方案如下:
    把以下代码复制到表单的代码区(注意一定要是表单的代码区,否则没效果!)Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Column <> 1 Then
            Exit Sub
        End If
        Cells(Target.Row, Target.Column + 1) = WorksheetFunction.CountA(Columns(1))
    End Sub