Я пытаюсь сгенерировать уникальный случайный серийный номер и вставить его в каждую ячейку в столбце «А» при условии, что у меня есть значение в соответствующей ячейке в столбце «Е», я также использую первую букву из столбца «Е» в готовом серийном номере. . Однако я получаю повторяющиеся значения, например. SYJ3068 SYJ3068 SNF9678 SNF9678 SNF9678 SGZ5605 SGZ5605 SGZ5605
Я искал решение, но безуспешно, не могли бы вы указать мне правильное направление и помочь мне исправить мой код, чтобы каждая ячейка получила уникальный серийный номер. С моими очень ограниченными знаниями VBA мне удалось придумать это:
Sub SumIt()
Dim rRandom_Number As Long
Dim rRandom_1st_Letter As String
Dim rRandom_2nd_Letter As String
Dim rRandom_Serial As String
Dim CellValue As String
Dim rCell_New_Value As String
Dim RowCrnt As Integer
Dim RowMax As Integer
Dim rCell As Range
With Sheets("Sheet1")
RowMax = .Cells(Rows.Count, "E").End(xlUp).Row
For RowCrnt = 6 To RowMax
CellValue = .Cells(RowCrnt, 5).Value
If Left(CellValue, 1) <> "" Then
For Each rCell In Range("A6:A" & RowMax)
Rnd -1
Randomize (Timer)
rRandom_Number = Int((9999 + 1 - 1000) * Rnd() + 1000)
rRandom_1st_Letter = Chr(CInt(Int((90 - 65 + 1) * Rnd() + 65)))
rRandom_2nd_Letter = Chr(CInt(Int((90 - 65 + 1) * Rnd() + 65)))
rRandom_Serial = _
rRandom_1st_Letter _
& rRandom_2nd_Letter _
& rRandom_Number
rCell_New_Value = UCase(Left(Trim(CellValue), 1) & rRandom_Serial)
.Cells(RowCrnt, 1).Value = rCell_New_Value
Next
End If
Next
End With
End Sub
Большое спасибо за вашу помощь.