Здравствуйте. форумчане Требуется помощь в создании макроса для формирования календаря игр турнира по кругу. Создал файл с исходными данными. А вот по макросу не пойму с чего начать. На вкладке пример календаря начал ручное заполнение для примера. Макрос должен перебирать значения со вкладки "данные" из столбца N сцеплять со столбцом O и переносить на вкладку "пример календаря" в столбец D или E в зависимости от того какая ячейка уже заполнена. Основное условие исключение задвоения вариантов пар, и формирования пары из одной и той же команды. Благодарю за ответы и советы!
Здравствуйте. форумчане Требуется помощь в создании макроса для формирования календаря игр турнира по кругу. Создал файл с исходными данными. А вот по макросу не пойму с чего начать. На вкладке пример календаря начал ручное заполнение для примера. Макрос должен перебирать значения со вкладки "данные" из столбца N сцеплять со столбцом O и переносить на вкладку "пример календаря" в столбец D или E в зависимости от того какая ячейка уже заполнена. Основное условие исключение задвоения вариантов пар, и формирования пары из одной и той же команды. Благодарю за ответы и советы!ASM_0408
Я не очень пока силен в макросах. Подскажите пожалуйста что и как привязать. Модуль тоже мне не понятен. Я так понимаю там задаются команды для диапозонов вывода считывая тур, пара, и тд. Напишите пожалуйста на моем примере, хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии а я как понял буду высылать файл. Спасибо!
Я не очень пока силен в макросах. Подскажите пожалуйста что и как привязать. Модуль тоже мне не понятен. Я так понимаю там задаются команды для диапозонов вывода считывая тур, пара, и тд. Напишите пожалуйста на моем примере, хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии а я как понял буду высылать файл. Спасибо!ASM_0408
хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии
А мне как раз проще именно сделать за Вас, и далее отправить за комментариями к другой теме (см.ссылку выше). Уж там-то комментариев и ссылок - более, чем достаточно.
Итак, по существу текущей конкретной задачи: 1.Открываете мой приложенный файл и идёте в Редактор Visual Basic - по комбинации Alt+F11. 2.Модуль я уже создал (Module1), поместил в него текст процедуры roundTournamentSchedule и дописал в нее несколько операторов в конец, чтобы результат выводился сразу на рабочий лист "Пример календаря". 3.Ставите курсор в любое место в середину процедуры (между строчками "Sub..." и "End Sub" и нажимаете клавишу F5. 4.Дожидаетесь окончания работы процедуры - это будет видно по прекращению вывода в Окно отладки (Immediate). 5.Возвращаетесь обратно на рабочий лист - также по комбинации Alt+F11, любуетесь результатами.
Если надо будет создать расписание для другого числа участников, то просто задаете другое число в строке процедуры "players = 7".
Обо всём остальном, в том числе о создании расписания при помощи бумажки и карандаша - читайте в теме по ссылке выше в сообщениях №№ 1,6,11. В последнем, 11-м, есть внешняя ссылка на очень простой ручной алгоритм ("Способ 1"). Именно он "переложен" на язык программирования VBA и реализован в моей процедуре.
хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии
А мне как раз проще именно сделать за Вас, и далее отправить за комментариями к другой теме (см.ссылку выше). Уж там-то комментариев и ссылок - более, чем достаточно.
Итак, по существу текущей конкретной задачи: 1.Открываете мой приложенный файл и идёте в Редактор Visual Basic - по комбинации Alt+F11. 2.Модуль я уже создал (Module1), поместил в него текст процедуры roundTournamentSchedule и дописал в нее несколько операторов в конец, чтобы результат выводился сразу на рабочий лист "Пример календаря". 3.Ставите курсор в любое место в середину процедуры (между строчками "Sub..." и "End Sub" и нажимаете клавишу F5. 4.Дожидаетесь окончания работы процедуры - это будет видно по прекращению вывода в Окно отладки (Immediate). 5.Возвращаетесь обратно на рабочий лист - также по комбинации Alt+F11, любуетесь результатами.
Если надо будет создать расписание для другого числа участников, то просто задаете другое число в строке процедуры "players = 7".
Обо всём остальном, в том числе о создании расписания при помощи бумажки и карандаша - читайте в теме по ссылке выше в сообщениях №№ 1,6,11. В последнем, 11-м, есть внешняя ссылка на очень простой ручной алгоритм ("Способ 1"). Именно он "переложен" на язык программирования VBA и реализован в моей процедуре.Gustav
Вот получилось создать то, что хотел. Прошу посмотреть может подскажете что то по оптимизации макросов или формул. Надеюсь для кого нибудь будет полезен данный файл. Выслушаю любые замечания и пожелания по совершенствованию файла.
Вот получилось создать то, что хотел. Прошу посмотреть может подскажете что то по оптимизации макросов или формул. Надеюсь для кого нибудь будет полезен данный файл. Выслушаю любые замечания и пожелания по совершенствованию файла.ASM_0408