Страницы: 1
RSS
Макрос, запись в диапазон ячеек уникального случайного числа с добавлением префикса, Макрос, запись в диапазон ячеек уникального случайного числа с добавлением префикса
 

Доброго времени суток всем гуру в мире макросов!

Помогите пожалуйста с реализацией макроса. Версия эксель 16.96

Задача макроса:

В заданном диапазоне ячеек записать уникальный (не повторяющийся) 14-значный номер.

Номер состоит из префикса и рандомного числа.

Префикс задается заранее в макросе, его длина 6 символов, это могут быть буквы, цифр или дефис. Если префикс короче 6 символов, то не заполненные в правой части символы, заменяются нулями.

Рандомное число, длиной 8 символом. Диапазон чисел задается. Если число менее 8 символов, то слева ставятся нули.

Пример номера:

PREF24ххххххxx, где PREF24 – префикс заданный в макросе, хxxxxxxx – число случайное, не повторяющееся ранее число.

SZ0000ххххххxx, где SZ – префикс заданный в макросе, 0000 – нули подставленные автоматом, из-за длины префикса, хxxxxxxx – число случайное, не повторяющееся ранее число.

EX-ВК0ххххххxx, где EX-ВК – префикс заданный в макросе, 0 – нули подставленные автоматом, из-за длины префикса, хxxxxxxx – число случайное, не повторяющееся ранее число.

На форуме встречал похожие задачи, но не получается довести до конца, не могу добавить префикс в начале числа и проверка на уникальность числа

https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=13507

Решение генерации от Dophin

Sub pp()  
  [a1:a555].FormulaR1C1 = "=RANDBETWEEN(1,99999999)"

  [a1:a555].Value = [a1:a555].Value
End Sub

Решение от KuklP

Dim stb

Dim c As Range

Application.ScreenUpdating = False

stb = Timer

For Each c In Range("C1:C555").Cells

 c.Value = ABC + 25000000 + Int((99999999 * Rnd) - 999)

Next

 stb = CInt((Timer - stb) * 100) / 100

 MsgBox ("Готово. Время работы " & stb & " сек."), vbInformation

Application.ScreenUpdating = True

End Sub

Помогите пожалуйста допилить макрос.

 
Не нужно писать через строку - плохо читать. Код оформляется соответствующим тэгом (значок <...>) на панели. Исправьте свое сообщение. Спасибо
П.С. И фвйл-пример бы не помешал. Excel. Как есть - как надо
UDF
Скрытый текст
Изменено: Sanja - 09.05.2025 11:26:59
Согласие есть продукт при полном непротивлении сторон
 
pq
Страницы: 1
Читают тему
Наверх