Добрый день! Есть макрос, который производит поиск по базе данных и если не найдет код изделия то пишет " Отсутствует в базе данных, необходимо обратиться к менеджеру по продукту ". Есть второй макрос "ReCeken", который, если не найден код в базе, то генерирует новый код (точнее генерирует три последних символа случайным образом). Как создать список сгенерированных кодов на листе "DataBase" и что бы к коду подтягивались параметры в соответствующие столбцы. Спасибо! [vba]
Код
Sub Cheken() Dim ReCheken Dim RX As Variant Dim i As Long, alph As String alph = "ABCDEFGHIJKLMNPQRSTUVWXYZ0123456789" Randomize With Sheets("Конфигуратор") i = .UsedRange.Row + .UsedRange.Rows.Count - 1 ReCheken = .Range(.Cells(1, 19), .Cells(i, 19)).Value For i = 2 To UBound(ReCheken, 1) If ReCheken(i, 1) = "<<<< Отсутствует в базе данных, необходимо обратиться к менеджеру по продукту >>>>" Then ' замена трех последних значений на случайный код из ячейки V1 RX = Mid(alph, Int((35 * Rnd) + 1), 1) & Mid(alph, Int((35 * Rnd) + 1), 1) & Mid(alph, Int((35 * Rnd) + 1), 1) Cells(i, 18) = Replace(Cells(i, 1), "000", RX) End If Next i End With End Sub
[/vba]
Добрый день! Есть макрос, который производит поиск по базе данных и если не найдет код изделия то пишет " Отсутствует в базе данных, необходимо обратиться к менеджеру по продукту ". Есть второй макрос "ReCeken", который, если не найден код в базе, то генерирует новый код (точнее генерирует три последних символа случайным образом). Как создать список сгенерированных кодов на листе "DataBase" и что бы к коду подтягивались параметры в соответствующие столбцы. Спасибо! [vba]
Код
Sub Cheken() Dim ReCheken Dim RX As Variant Dim i As Long, alph As String alph = "ABCDEFGHIJKLMNPQRSTUVWXYZ0123456789" Randomize With Sheets("Конфигуратор") i = .UsedRange.Row + .UsedRange.Rows.Count - 1 ReCheken = .Range(.Cells(1, 19), .Cells(i, 19)).Value For i = 2 To UBound(ReCheken, 1) If ReCheken(i, 1) = "<<<< Отсутствует в базе данных, необходимо обратиться к менеджеру по продукту >>>>" Then ' замена трех последних значений на случайный код из ячейки V1 RX = Mid(alph, Int((35 * Rnd) + 1), 1) & Mid(alph, Int((35 * Rnd) + 1), 1) & Mid(alph, Int((35 * Rnd) + 1), 1) Cells(i, 18) = Replace(Cells(i, 1), "000", RX) End If Next i End With End Sub