如何在excel vba中为序列数据分配唯一编号,当数据跳转时,唯一值会发生变化?

时间:2017-10-14 17:15:13

标签: excel vba excel-vba

我是Excel VBA编程的新手。我有一个问题,我花了一个多星期才解决它。

例如,如果我有这些数据:

85
86
87
88
89
90
91
201
202
203
204
560
561
562

my data before

具有两个特征,一个具有+1差异,另一个具有> 1个差异。我希望我的数据是这样的: enter image description here

你能帮我找一下excel vba代码吗?我真的很感谢你的帮助。非常感谢你。

2 个答案:

答案 0 :(得分:0)

B1 中放置 1
B2 中输入:

=IF(A2=A1+1,B1,B1+1)

并复制下来:

enter image description here

答案 1 :(得分:0)

这个简单的脚本可以满足您的需求。

Sub Test()
Dim i As Integer
Dim x As Integer
Dim lastRow As Long

lastRow = UsedRange.Rows.Count
x = 1
  For i = 1 To lastRow Step 1
    If Range("A" & i + 1) - Range("A" & i) = 1 Then
        Range("B" & i).Value = x
    Else
        Range("B" & i).Value = x
        x = x + 1
    End If
  Next i
End Sub