|
本帖最后由 zt1066815277 于 2022-5-15 16:24 编辑
不知道能否满足你的需求,水平有限,不对勿怪.
- Sub 自动编号()
- Dim d As New Dictionary, arr, brr, crr
- Dim gys, dhd, sj As String, jsNum%
- arr = Sheets("参数页").Cells.CurrentRegion
- brr = Sheets("参数页").Range("e1").CurrentRegion
- Sheets("供应商交期追踪表").Range("l8:l200").ClearContents
- For i = 2 To UBound(arr)
- d(arr(i, 1)) = arr(i, 2)
- Next
- For i = 2 To UBound(brr)
- d(brr(i, 1)) = brr(i, 2)
- Next
- With Sheets("供应商交期追踪表")
- .Range("a7:p110").Sort Range("c1"), 1, Range("k1"), , 2, Header:=xlYes
- crr = .Range("a7").CurrentRegion
- jsNum = 1
- .Cells(8, 12) = Format(.Cells(8, 11), "yyyymmdd") & d(crr(8, 3)) & "-" & d(crr(8, 7)) & Right("000" & jsNum, 3)
- For i = 3 To UBound(crr)
- gys = crr(i, 3)
- dhd = crr(i, 7)
- sj = crr(i, 11)
- If sj <> "" Then
- If crr(i, 11) = crr(i - 1, 11) Then
- jsNum = jsNum + 1
- .Cells(i + 6, 12) = Format(sj, "yyyymmdd") & d(gys) & "-" & d(dhd) & Right("000" & jsNum, 3)
- Else
- jsNum = 1
- .Cells(i + 6, 12) = Format(sj, "yyyymmdd") & d(gys) & "-" & d(dhd) & Right("000" & jsNum, 3)
- End If
- End If
- Next
- End With
- End Sub
复制代码 |
|