Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос создания календаря игр по кругу - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос создания календаря игр по кругу (Макросы/Sub)
Макрос создания календаря игр по кругу
ASM_0408 Дата: Воскресенье, 11.03.2018, 13:12 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 239
Репутация: 0 ±
Замечаний: 0% ±

Excel 2021
Здравствуйте. форумчане
Требуется помощь в создании макроса для формирования календаря игр турнира по кругу.
Создал файл с исходными данными. А вот по макросу не пойму с чего начать. На вкладке пример календаря начал ручное заполнение для примера.
Макрос должен перебирать значения со вкладки "данные" из столбца N сцеплять со столбцом O и переносить на вкладку "пример календаря" в столбец D или E в зависимости от того какая ячейка уже заполнена. Основное условие исключение задвоения вариантов пар, и формирования пары из одной и той же команды.
Благодарю за ответы и советы!
К сообщению приложен файл: 5804966.xlsx (10.8 Kb)
 
Ответить
СообщениеЗдравствуйте. форумчане
Требуется помощь в создании макроса для формирования календаря игр турнира по кругу.
Создал файл с исходными данными. А вот по макросу не пойму с чего начать. На вкладке пример календаря начал ручное заполнение для примера.
Макрос должен перебирать значения со вкладки "данные" из столбца N сцеплять со столбцом O и переносить на вкладку "пример календаря" в столбец D или E в зависимости от того какая ячейка уже заполнена. Основное условие исключение задвоения вариантов пар, и формирования пары из одной и той же команды.
Благодарю за ответы и советы!

Автор - ASM_0408
Дата добавления - 11.03.2018 в 13:12
Gustav Дата: Воскресенье, 11.03.2018, 17:12 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2733
Репутация: 1136 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
В помощь тема в "Готовых решениях": http://www.excelworld.ru/forum/3-2995-1 . Там в конце есть макрос, можно приспособить.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеВ помощь тема в "Готовых решениях": http://www.excelworld.ru/forum/3-2995-1 . Там в конце есть макрос, можно приспособить.

Автор - Gustav
Дата добавления - 11.03.2018 в 17:12
ASM_0408 Дата: Понедельник, 12.03.2018, 11:28 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 239
Репутация: 0 ±
Замечаний: 0% ±

Excel 2021
Там в конце есть макрос, можно приспособить.

Я не очень пока силен в макросах. Подскажите пожалуйста что и как привязать. Модуль тоже мне не понятен. Я так понимаю там задаются команды для диапозонов вывода считывая тур, пара, и тд. Напишите пожалуйста на моем примере, хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии а я как понял буду высылать файл.
Спасибо!
К сообщению приложен файл: 0297562.xlsx (10.9 Kb)
 
Ответить
Сообщение
Там в конце есть макрос, можно приспособить.

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

Автор - ASM_0408
Дата добавления - 12.03.2018 в 11:28
Gustav Дата: Понедельник, 12.03.2018, 14:50 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2733
Репутация: 1136 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии

А мне как раз проще именно сделать за Вас, и далее отправить за комментариями к другой теме (см.ссылку выше). Уж там-то комментариев и ссылок - более, чем достаточно.

Итак, по существу текущей конкретной задачи:
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 и реализован в моей процедуре.
К сообщению приложен файл: RoundTour.xlsm (21.1 Kb)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
хочу понять алгоритм. За меня делать не надо, хочу сам вникнуть если можно то отвас комментарии

А мне как раз проще именно сделать за Вас, и далее отправить за комментариями к другой теме (см.ссылку выше). Уж там-то комментариев и ссылок - более, чем достаточно.

Итак, по существу текущей конкретной задачи:
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
Дата добавления - 12.03.2018 в 14:50
ASM_0408 Дата: Суббота, 17.03.2018, 10:16 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 239
Репутация: 0 ±
Замечаний: 0% ±

Excel 2021
Вот получилось создать то, что хотел. Прошу посмотреть может подскажете что то по оптимизации макросов или формул. Надеюсь для кого нибудь будет полезен данный файл. Выслушаю любые замечания и пожелания по совершенствованию файла.
К сообщению приложен файл: __.xlsm (73.2 Kb)
 
Ответить
СообщениеВот получилось создать то, что хотел. Прошу посмотреть может подскажете что то по оптимизации макросов или формул. Надеюсь для кого нибудь будет полезен данный файл. Выслушаю любые замечания и пожелания по совершенствованию файла.

Автор - ASM_0408
Дата добавления - 17.03.2018 в 10:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос создания календаря игр по кругу (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!