|
一般的编号就是同一天的连续编号,第二天开始重新开始编号,你的表格H列可见部分全是一个日期,不可见的因该都是空的吧。参与一下,不知道是不是你需要的。
Sub autonumb()
j = 1
For i = 4 To Sheets(1).UsedRange.Rows.Count
If i = 4 Then
With Sheets(1).Cells(i, 2)
.Value = Format(Sheets(1).Cells(i, 8), "YYYYMMDD") & Format(j, "000") '日期+编号
.NumberFormatLocal = "@" '单元格格式文本格式
End With
End If
If Sheets(1).Cells(i, 8) <> Sheets(1).Cells(i - 1, 8) Then '遇到日期不一样则重新编号
j = 1
Else
j = j + 1 ' 同一日期连续编号
End If
If j < 1000 Then
ft = "000" '小于等于999保留三位编号,不足以0补齐
Else
ft = String(Len(j), "0") '大于999按实际长度编号
End If
With Sheets(1).Cells(i, 2)
.Value = Format(Sheets(1).Cells(i, 8), "YYYYMMDD") & Format(j, ft)
.NumberFormatLocal = "@"
End With
Next
End Sub
|
评分
-
1
查看全部评分
-
|