Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.03.2015, 19:10   #1
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию Генератор Серийных Номеров

Простейший генератор серийных номеров, по 18 штук на лист.
Установите Шрифт 3Of9 из архива в систему, затем запустите файл Exel из архива, пользуйтесь.

Файл автоматически пересохраняет себя, для исключения повторений.
Нажмите - Сгенерировать -> Печать.
В промежутке нажимаем "Да" (Т.е пересохраняемся).

Следующий запуск начинаем с кнопки Сгенерировать.
Поддержка (Ms Exel | Open Office).
Внимание! Настройки безопасности для макросов!
Для Ms Exel - Сервис\макрос\Безопасность\Средняя.
Вложения
Тип файла: zip SerialGenerate.ZIP (17.8 Кб, 54 просмотров)
AlexFAst вне форума
Старый 22.03.2015, 20:46   #2
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

Это реклама?
Почитайте про циклы, может отпустит.
kalbasiatka вне форума
Старый 22.03.2015, 20:50   #3
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию

Цитата:
Сообщение от kalbasiatka Посмотреть сообщение
Это реклама?
Почитайте про циклы, может отпустит.
Нет это не реклама, нет разницы в тексте, никто не мешает вам модифицировать файл! Главное что он работает!
AlexFAst вне форума
Старый 23.03.2015, 02:18   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Непонятно, зачем тут макросы
Хватило бы одной простейшей формулы...
EducatedFool вне форума
Старый 24.03.2015, 00:39   #5
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию EducatedFool

Еще раз повторяюсь!!!
Это готовое решение, не важно как оформлен текст!
Никто не запрещает Вам развивать тему и модифицировать файл!
Жду Ваших Модификаций!!!
Темы не было такой, я раскрыл! Файл выложил, с открытым кодом (Код для школьника ну и что, главное работает!).
AlexFAst вне форума
Старый 24.03.2015, 02:35   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

AlexFAst, что тут сказать?
написано монуменатльно!!! более подходящего выражения не нахожу...

развивать тему бессмыслено! смело вскрытая Вами тема "генерации серийных номеров" раскрыта полностью и таким образом закрыта при вскрытии!

разве что, мог бы посоветовать Вам в следующей версии программы попытаться сгененрировать 19 серийных номеров! что скажете? неожиданное и дезкое решение!
по 18 генерировали, кого этим удивишь? а вот по 19! - это что-то новенькое в программировании. займитесь на досуге.

а в Вашем коде, я бы написал такую неуклюжую конструкцию:
Код:
  Dim r As Long, c As Long
  For c = 1 To 2
    For r = 1 To 9
      Cells(r * 4 - 1, c) = Cells(2, 3) & Cells(3, 3) + (c - 1) * 9 + r
      Cells(r * 4 - 2, c) = "*" & Cells(r * 4 - 1, c) & "*"
    Next
  Next
вместо этого стройного кода
Код:
Лист1.Cells(2, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(3, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(6, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(7, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(10, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(11, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(14, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(15, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(18, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(19, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(22, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(23, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(26, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(27, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(30, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(31, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(34, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(35, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))
'Следующая строка'
Лист1.Cells(2, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(3, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(6, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(7, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(10, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(11, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(14, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(15, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(18, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(19, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(22, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(23, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(26, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(27, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(30, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(31, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(34, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(35, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 25.03.2015, 19:36   #7
Djeki
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 136
Хорошо

Цитата:
Сообщение от IgorGO Посмотреть сообщение
AlexFAst,
смело вскрытая Вами тема "генерации серийных номеров" раскрыта полностью и таким образом закрыта при вскрытии!
и таким образом закрыта при вскрытии! - Высший пилотаж юмора !!
Смеялся минут пять..
Djeki вне форума
Старый 05.04.2015, 21:46   #8
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию Ответ ->> IgorGO

IgorGO
Я не профессионал в Visual Basic, но этот шаблон включая настройки в Лист2, которых я естественно не выложил. Печатает столько номеров, сколько вы укажите в строке "Напечатать Листов" = Long.
Искренне надеюсь, что этот код
Автор (IgorGO)
Код:
 Dim r As Long, c As Long
  For c = 1 To 2
    For r = 1 To 9
      Cells(r * 4 - 1, c) = Cells(2, 3) & Cells(3, 3) + (c - 1) * 9 + r
      Cells(r * 4 - 2, c) = "*" & Cells(r * 4 - 1, c) & "*"
    Next
  Next
Будет работать.
Спасибо.

Последний раз редактировалось AlexFAst; 05.04.2015 в 23:13. Причина: Выделение "кода"
AlexFAst вне форума
Старый 12.06.2015, 23:02   #9
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию

IgorGO - Выложите рабочий Файл со Своим кодом!!!

Мой отлично работает на предприятии и никто не жалуется! наоборот я внедрил эту технологию и в устройства с оригинальными С\Н без описания. Я же предлогаю описание и С\Н.

IgorGO - Дайте ссылку хоть на один сертификат от Компании Microsoft?
Ваш код, Не рабочий!

Последний раз редактировалось Вадим Мошев; 13.06.2015 в 23:57.
AlexFAst вне форума
Старый 12.06.2015, 23:23   #10
AlexFAst
Пользователь
 
Регистрация: 23.09.2009
Сообщений: 25
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
AlexFAst, что тут сказать?
написано монуменатльно!!! более подходящего выражения не нахожу...

развивать тему бессмыслено! смело вскрытая Вами тема "генерации серийных номеров" раскрыта полностью и таким образом закрыта при вскрытии!

разве что, мог бы посоветовать Вам в следующей версии программы попытаться сгененрировать 19 серийных номеров! что скажете? неожиданное и дезкое решение!
по 18 генерировали, кого этим удивишь? а вот по 19! - это что-то новенькое в программировании. займитесь на досуге.

а в Вашем коде, я бы написал такую неуклюжую конструкцию:
Код:
  Dim r As Long, c As Long
  For c = 1 To 2
    For r = 1 To 9
      Cells(r * 4 - 1, c) = Cells(2, 3) & Cells(3, 3) + (c - 1) * 9 + r
      Cells(r * 4 - 2, c) = "*" & Cells(r * 4 - 1, c) & "*"
    Next
  Next
вместо этого стройного кода
Код:
Лист1.Cells(2, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(3, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(6, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(7, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(10, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(11, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(14, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(15, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(18, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(19, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(22, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(23, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(26, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(27, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(30, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(31, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(34, 1) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(35, 1) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))
'Следующая строка'
Лист1.Cells(2, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(3, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(6, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(7, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(10, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(11, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(14, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(15, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(18, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(19, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(22, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(23, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(26, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(27, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(30, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(31, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Лист1.Cells(34, 2) = "*" + Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3) + 1) + "*"
Лист1.Cells(3, 3) = Лист1.Cells(3, 3) + 1
Лист1.Cells(35, 2) = Лист1.Cells(2, 3) + CStr(Лист1.Cells(3, 3))

Вставте в VB И подтвердите файлом!
AlexFAst вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение серийных номеров в столбцах. Pavluha007 Microsoft Office Excel 3 21.10.2014 12:10
Определение серийных номеров физических устройств Raikhman Win Api 11 01.11.2011 16:42
Массивы, удаление четных номеров, обнаружение максимальных номеров. Memorial Помощь студентам 2 18.10.2011 22:58
Windows XP++ [Определение серийных номеров HDD] Lime Windows 4 17.10.2011 08:16
Сортировчик номеров ildusfm Microsoft Office Excel 1 19.05.2009 13:38