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

Вход

Регистрация

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

 

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

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

2016
Здравствуйте. форумчане
Требуется помощь в создании макроса для формирования календаря игр турнира по кругу.
Создал файл с исходными данными. А вот по макросу не пойму с чего начать. На вкладке пример календаря начал ручное заполнение для примера.
Макрос должен перебирать значения со вкладки "данные" из столбца 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
Группа: Друзья
Ранг: Старожил
Сообщений: 1615
Репутация: 661 ±
Замечаний: 0% ±

начинал с Excel 4.0...
В помощь тема в "Готовых решениях": 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 214
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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

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

Итак, по существу текущей конкретной задачи:
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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 214
Репутация: 0 ±
Замечаний: 0% ±

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

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

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