Выбрать дату в календареВыбрать дату в календаре

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

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

Помогите пожалуйста с реализацией макроса. Версия эксель 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

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

Перенос строчек с листа на лист по значению в ячейках
 
У меня к сожалению нет WM, только яндекс, я думаю он мне напишет с адреса который указан на форуме и мы договоримся о благодарности!
Перенос строчек с листа на лист по значению в ячейках
 
Огромное спасибо GIG_ant! Решение изящное и красивое. Готов перевести 10 баков на яндекс счет в течении этой недели, скорее всего в четверг. Жду от Вас номер кошелька на почту rf_dru@ngs.ru в теме письма подпись GIG_ant!  
На счет "Обнаглели форумчане. Им выставляют техзадание и все тут же не бросаются его выполнять." Мне эта форма нужна была сегодня и я смотрел, как обновляется форум, скорость ответа с решением около 2-3 часов вот и удивлялся отсутствию ответов.  
По поводу рутины - я конечно понимаю, что для вас это не интересно, но для кого то это ВАЖНО. Мне никогда не давалось программирование, наверно потому, что когда я учился были только PC "Электроника" и только не для личного использования.  
Ну и наконец, человек помогший мне не из-за денег может рассчитывать на мою помощь и благодарность  (в том числе и финансовую). Время такое, все хотят пощипать денег, но при этом не многие могут их качественно отработать! Парируйте Ватсон...  
Еще раз спасибо GIG_ant!!! Жду письма.
Перенос строчек с листа на лист по значению в ячейках
 
Спортсменов таки не нашлось, жаль!  
Надеюсь если вы на трасе проколите колесо, вам помогут, а не проедут мимо.
Перенос строчек с листа на лист по значению в ячейках
 
Ваша точка зрения ясна, нет, платить не могу, так как только начал свое дело и с самого начала хочу сделать хорошо. Если бы мог сделать сам не обращался бы за помощью!
Страницы: 1
Наверх