【发布时间】:2021-07-26 11:06:50
【问题描述】:
我设法修改了我发现的代码以满足我的需要,但我不知道如何完成最后一个重要部分。
E 列是订单,H 是供应商
我正在尝试自动为下一个供应商创建 NEXT 编号。 (它们应该看起来和图片一样,没有第一个是问题的一部分)。
在我当前的代码上,当我按下 E10(空单元格)时,将为每个供应商生成数字。
问题是代码不是从我当前的单元格(空单元格)开始并转换第 3 行之后列中的每个单元格。我认为这是因为For i = 3 To N。但我需要来自下一个单元格,并且不理会之前的单元格。
Sub FillA()
Dim SeqNum As Long, iNum As Long
Dim N As Long, i As Long
Application.ScreenUpdating = False
last4 = Right(ActiveCell.Offset(-1, 0).Value, 4)
Application.ScreenUpdating = True
SeqNum = last4
iNum = 1
ActiveCell.Value = ActiveCell.Value & Format(SeqNum + iNum)
N = Cells(Rows.Count, "H").End(xlUp).Row
For i = 3 To N
If Cells(i, "H").Value = Cells(i - 1, "H").Value Then
iNum = iNum
Cells(i, "E").Value = "PAU2100" & Format(SeqNum + iNum)
End If
If Cells(i, "H").Value <> Cells(i - 1, "H").Value Then
iNum = iNum + 1
SeqNum = SeqNum
Cells(i, "E").Value = "PAU2100" & Format(SeqNum + iNum)
End If
If Cells(i + 1, "H").Value = 0 Then
Exit Sub
End If
Next i
End Sub
【问题讨论】: