|
syt188702 发表于 2011-9-16 19:14
回老师,附件传上,录入表录数据,数据表B接收数据A产生自动编号(固定位数)
代码放在Change事件中
功能说明:
1,第二行为初始行,也就是说必需先对对2行输入内容,以下功能才能实现(初始序号1887020002)
2,代码支持隔行输入,即在第二行输入后,可以在第5行输入 序号为(1887020003)
3,隔行输入后,在中间的空行输入内容,会自动更新下面的序号,比如说在第4行输入内容,序号昌(1887020003),那第5行的序号会更新成最后一个(1887020004)
- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Count = 1 And Target.Column = 2 Then
- If Target.Row = 2 Then
- Target.Offset(, -1).Value = 1887020002 '设定初始值
- ElseIf Target.Row > 2 And Target.Value <> "" Then
- k = Target.Offset(, -1).End(xlUp).Value + 1 '记录当前需要定入的值
- Target.Offset(, -1).Value = k '将序号写入对应的行
- If Target.Row <> Range("a65536").End(xlUp).Row Then '如果当前操作的行下面还有内容,就需要对下面的内容进行重写
- For X = Target.Row + 1 To Range("a65536").End(xlUp).Row '从当前行 循环到最后一行
- If Cells(X, 1) <> "" Then Cells(X, 1) = k + 1: k = k + 1 '如果不为空,就写入新的序号
- Next
- End If
- End If
- End If
- End Sub
复制代码
|
|