Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer Dim lastRow As Long '========核心功能1:监控B列(便签内容列)输入/删除内容触发事件======== If Target.Column = 2 And Target.Row > 1 Then '输入内容时:自动生成【固定日期时间】 If Target.Value <> "" And Cells(Target.Row, 3).Value = "" Then Cells(Target.Row, 3).Value = Now() Cells(Target.Row, 3).NumberFormat = "yyyy-mm-dd hh:mm:ss" '日期时间格式(带空格更美观) '删除内容时:清空对应行的日期时间 ElseIf Target.Value = "" Then Cells(Target.Row, 3).Value = "" End If End If '========核心功能2:自动生成【连续序号】+ 序号自动补位排序(永不断号)======== lastRow = Cells(Rows.Count, 2).End(xlUp).Row '获取B列最后一行有内容的行号 For i = 2 To lastRow '从第2行开始生成序号(第1行是表头) If Cells(i, 2).Value <> "" Then '只要B列有内容,就生成序号 Cells(i, 1).Value = i - 1 Cells(i, 1).HorizontalAlignment = xlCenter '序号居中显示,更美观 Else 'B列无内容,清空序号 Cells(i, 1).Value = "" End If Next iEnd Sub