我有一个链接,该链接通过查看一张纸的最后一行来生成ID,并在其中添加1。这些ID不能是某些特定的数字。 为此,我有两个功能可以正常运行,并可以完成预期的工作,但是现在有了一些新的标准。我要告诉我的函数“不要生成以3,4,8开头的ID”,而不是我生成的ID不能提供的一些随机ID。
我对vba不太满意,可能需要很多解释。
Function f1(search_value As Long, rng As Range)
For i = 1 To rng.Count
If rng.Cells(i, 1).Value = search_value Then
f1 = True
Exit Function
End If
Next i
f1= False
End Function
Function f2(last_ID As Long, rng As Range)
Dim newID As Long
newID = last_ID + 1
While f1(newID, rng)
newID = newID + 1
Wend
f2 = newID
End Function
答案 0 :(得分:0)
您可以执行以下操作。
Function f1(search_value As Long, rng As Range)
For i = 1 To rng.Count
If rng.Cells(i, 1).value = search_value Then
f1 = True
Exit Function
End If
Next i
f1 = False
End Function
Function genID(last_ID As Long, rng As Range)
Dim newID As Long
If Not Left(Len(last_ID + 1), 1) = 3 Or Left(Len(last_ID + 1), 1) = 4 Or Left(Len(last_ID + 1), 1) = 8 Then
newID = last_ID + 1
End If
While f1(newID, rng)
newID = newID + 1
Wend
f2 = newID
End Function