根据日期重新开始编号规则
Restarting number sequence based on date
我希望有人能提供帮助。我正在尝试创建一个引用系统,该系统将创建一个每天重置的 UID。该参考将遵循用户首字母、今天的日期和当天记录的数字的结构。例如
- “MB - 20211015 - 001”
- “MB - 20211015 - 002”
- “AD - 20211015 - 003”
计数器是我每天要重置的,所以在 16 日它被重置为 001
- “MB - 20211016 - 001”
- “AD - 20211016 - 002”
- “EH - 20211016 - 003”
我有一个代码可以获取号码,但它不能与日期一起动态工作。有人可以帮忙吗?
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Nextnum As Long
Dim Ini as String
Ini = Application.WorksheetFunction.Vlookup(Application.Username), ws1.range("IniLookup"), 4, 0)
Set ws1 = Worksheets("Lookups")
Nextnum = ws.Range("AB2").End(xlDown).Value + 1
Set ws2 = Worksheets("SMEXP")
With ws2
.Range("B15") = Ini & " - " &Format(Now(), "yyyymmdd") & "- " & Nextnum
End With
请尝试下一种方式:
.Range("B15").value = Ini & " - " & Format(Date, "yyyymmdd") & " - " & Format(NextNum, "000")
作为 Long
,我想 NextNum
类似于 3
、4
等等...
为了每天重新初始化NextNum
,您应该更换
Nextnum = ws.Range("AB2").End(xlDown).Value + 1
和
If ws.Range("AC" & ws.rows.count).End(xlUp).Value = Date Then
NextNum = ws.Range("AB2").End(xlDown).Value + 1
ws.Range("AB2").End(xlDown).Offset(1).Value = NextNum
ws.Range("AC" & ws.rows.count).End(xlUp).Offset(1).Value = Date
Else
NextNum = 1
ws.Range("AB2").End(xlDown).Offset(1).Value = NextNum
ws.Range("AC" & ws.rows.count).End(xlUp).Offset(1).Value = Date
End If
当然,AC:AC 列如果尚未使用则要使用。如果不可用,请将“AC”替换为任何其他可用的列。您应该只在该列的最后一行放置一次当前日期。
我希望有人能提供帮助。我正在尝试创建一个引用系统,该系统将创建一个每天重置的 UID。该参考将遵循用户首字母、今天的日期和当天记录的数字的结构。例如
- “MB - 20211015 - 001”
- “MB - 20211015 - 002”
- “AD - 20211015 - 003”
计数器是我每天要重置的,所以在 16 日它被重置为 001
- “MB - 20211016 - 001”
- “AD - 20211016 - 002”
- “EH - 20211016 - 003”
我有一个代码可以获取号码,但它不能与日期一起动态工作。有人可以帮忙吗?
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Nextnum As Long
Dim Ini as String
Ini = Application.WorksheetFunction.Vlookup(Application.Username), ws1.range("IniLookup"), 4, 0)
Set ws1 = Worksheets("Lookups")
Nextnum = ws.Range("AB2").End(xlDown).Value + 1
Set ws2 = Worksheets("SMEXP")
With ws2
.Range("B15") = Ini & " - " &Format(Now(), "yyyymmdd") & "- " & Nextnum
End With
请尝试下一种方式:
.Range("B15").value = Ini & " - " & Format(Date, "yyyymmdd") & " - " & Format(NextNum, "000")
作为 Long
,我想 NextNum
类似于 3
、4
等等...
为了每天重新初始化NextNum
,您应该更换
Nextnum = ws.Range("AB2").End(xlDown).Value + 1
和
If ws.Range("AC" & ws.rows.count).End(xlUp).Value = Date Then
NextNum = ws.Range("AB2").End(xlDown).Value + 1
ws.Range("AB2").End(xlDown).Offset(1).Value = NextNum
ws.Range("AC" & ws.rows.count).End(xlUp).Offset(1).Value = Date
Else
NextNum = 1
ws.Range("AB2").End(xlDown).Offset(1).Value = NextNum
ws.Range("AC" & ws.rows.count).End(xlUp).Offset(1).Value = Date
End If
当然,AC:AC 列如果尚未使用则要使用。如果不可用,请将“AC”替换为任何其他可用的列。您应该只在该列的最后一行放置一次当前日期。