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

Вход

Регистрация

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

 

= Мир MS Excel/Выпадающий календарь - Страница 7 - Мир MS Excel

Старая форма входа
  • Страница 7 из 8
  • «
  • 1
  • 2
  • 5
  • 6
  • 7
  • 8
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Выпадающий календарь (Для программирующих в среде VBA.)
Выпадающий календарь
Skif-F Дата: Суббота, 05.03.2016, 11:54 | Сообщение № 121
Группа: Проверенные
Ранг: Участник
Сообщений: 73
Репутация: 14 ±
Замечаний: 0% ±

Excel 2007, 2010, 2013, 2016
сделайте календарь для 2003 Эксэля, будет польза ещё эксэлистам

Просто надо пересохранить в другом формате.

В коде формы я добавил функцию

А вот здесь я не согласен. Календарик работает в какой-то книге - вот в неё и надо сохранять настройки (всегда можно добавить скрытый лист).
А засорять реестр не стоит
К сообщению приложен файл: VovaK_mod10_Ski.zip (50.3 Kb)
 
Ответить
Сообщение
сделайте календарь для 2003 Эксэля, будет польза ещё эксэлистам

Просто надо пересохранить в другом формате.

В коде формы я добавил функцию

А вот здесь я не согласен. Календарик работает в какой-то книге - вот в неё и надо сохранять настройки (всегда можно добавить скрытый лист).
А засорять реестр не стоит

Автор - Skif-F
Дата добавления - 05.03.2016 в 11:54
котов Дата: Воскресенье, 06.03.2016, 06:19 | Сообщение № 122
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Skif-F, первый столбец выбора дат "съел" кнопку "принять". Верните, пожалуйста для 2003!
 
Ответить
СообщениеSkif-F, первый столбец выбора дат "съел" кнопку "принять". Верните, пожалуйста для 2003!

Автор - котов
Дата добавления - 06.03.2016 в 06:19
al-Ex Дата: Воскресенье, 06.03.2016, 14:54 | Сообщение № 123
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 59 ±
Замечаний: 0% ±

Excel 2010
Календарик работает в какой-то книге - вот в неё и надо сохранять настройки .

Можно и на листе сохранять, но
если календарь работает как надстройка, тогда и сохранять надо в надстройке.
добавил лист "mySetting"
и код изменил соответственно:

А засорять реестр не стоит
[offtop][p.s.] а реестр, - не "святая икона" для этого и существует, собственно.[/offtop]
К сообщению приложен файл: V_mod10_Save_Se.xlsm (62.6 Kb)


Сообщение отредактировал al-Ex - Воскресенье, 06.03.2016, 16:08
 
Ответить
Сообщение
Календарик работает в какой-то книге - вот в неё и надо сохранять настройки .

Можно и на листе сохранять, но
если календарь работает как надстройка, тогда и сохранять надо в надстройке.
добавил лист "mySetting"
и код изменил соответственно:

А засорять реестр не стоит
[offtop][p.s.] а реестр, - не "святая икона" для этого и существует, собственно.[/offtop]

Автор - al-Ex
Дата добавления - 06.03.2016 в 14:54
Skif-F Дата: Понедельник, 07.03.2016, 11:13 | Сообщение № 124
Группа: Проверенные
Ранг: Участник
Сообщений: 73
Репутация: 14 ±
Замечаний: 0% ±

Excel 2007, 2010, 2013, 2016
Skif-F, первый столбец выбора дат "съел" кнопку "принять". Верните, пожалуйста для 2003!

Не понял, покажите картинку
 
Ответить
Сообщение
Skif-F, первый столбец выбора дат "съел" кнопку "принять". Верните, пожалуйста для 2003!

Не понял, покажите картинку

Автор - Skif-F
Дата добавления - 07.03.2016 в 11:13
котов Дата: Понедельник, 07.03.2016, 16:35 | Сообщение № 125
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
фото al-Ex,
Skif-F,
К сообщению приложен файл: 1744080.jpg (27.5 Kb)
 
Ответить
Сообщениефото al-Ex,
Skif-F,

Автор - котов
Дата добавления - 07.03.2016 в 16:35
Skif-F Дата: Понедельник, 07.03.2016, 17:35 | Сообщение № 126
Группа: Проверенные
Ранг: Участник
Сообщений: 73
Репутация: 14 ±
Замечаний: 0% ±

Excel 2007, 2010, 2013, 2016
Верните, пожалуйста для 2003

Никогда!!!! :D
Это просто режим работы формы. Читайте описание!
Зачем Вам <Принять>? Можно же двойным кликом выбрать!
 
Ответить
Сообщение
Верните, пожалуйста для 2003

Никогда!!!! :D
Это просто режим работы формы. Читайте описание!
Зачем Вам <Принять>? Можно же двойным кликом выбрать!

Автор - Skif-F
Дата добавления - 07.03.2016 в 17:35
VovaK Дата: Вторник, 19.04.2016, 14:27 | Сообщение № 127
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Добавил ввод времени.
К сообщению приложен файл: VovaK_.zip (65.7 Kb)


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеДобавил ввод времени.

Автор - VovaK
Дата добавления - 19.04.2016 в 14:27
VovaK Дата: Пятница, 22.04.2016, 06:40 | Сообщение № 128
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Нашел неприятную недоработку. При изменении года нажатием на SpinButton, на нем фиксируется фокус и при переводе курсора на выбор времени не фокусируются SpinButtons подбора времени. По сути надо принудительно переводить фокус на ComboBox выбора месяца. Выглядит это очень непрезентабельно.

В прилагаемом файле все исправил. Если найдете еще косяки, пишите...
К сообщению приложен файл: 0498278.zip (67.5 Kb)


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеНашел неприятную недоработку. При изменении года нажатием на SpinButton, на нем фиксируется фокус и при переводе курсора на выбор времени не фокусируются SpinButtons подбора времени. По сути надо принудительно переводить фокус на ComboBox выбора месяца. Выглядит это очень непрезентабельно.

В прилагаемом файле все исправил. Если найдете еще косяки, пишите...

Автор - VovaK
Дата добавления - 22.04.2016 в 06:40
duckky Дата: Понедельник, 25.04.2016, 13:13 | Сообщение № 129
Группа: Пользователи
Ранг: Участник
Сообщений: 95
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
VovaK, можно ли в вашем календаре сделать время "с 08:00 до 20:00 и с 20:00 до 08:00"? Так как мне надо только такой диапазон.
 
Ответить
СообщениеVovaK, можно ли в вашем календаре сделать время "с 08:00 до 20:00 и с 20:00 до 08:00"? Так как мне надо только такой диапазон.

Автор - duckky
Дата добавления - 25.04.2016 в 13:13
hbs-group Дата: Среда, 27.04.2016, 19:23 | Сообщение № 130
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Огромное спасибо за выпадающий список! hands
 
Ответить
СообщениеОгромное спасибо за выпадающий список! hands

Автор - hbs-group
Дата добавления - 27.04.2016 в 19:23
Azakia Дата: Четверг, 28.04.2016, 19:13 | Сообщение № 131
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
VovaK, пожалуйста подскажите как при наличии двух текстбоксов с помощью вашего календаря вбить две даты?
т.е. вызвав юзерформ на ней в текстбокс1 указать например 01.01.2016 а во второй например 31.03.2016
 
Ответить
СообщениеVovaK, пожалуйста подскажите как при наличии двух текстбоксов с помощью вашего календаря вбить две даты?
т.е. вызвав юзерформ на ней в текстбокс1 указать например 01.01.2016 а во второй например 31.03.2016

Автор - Azakia
Дата добавления - 28.04.2016 в 19:13
VovaK Дата: Вторник, 03.05.2016, 07:39 | Сообщение № 132
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Azakia, прочитайте весь пост на Ваш вопрос уже есть ответы. Подсказка - глобальная переменная и UserForm.Show 0.


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеAzakia, прочитайте весь пост на Ваш вопрос уже есть ответы. Подсказка - глобальная переменная и UserForm.Show 0.

Автор - VovaK
Дата добавления - 03.05.2016 в 07:39
jakky Дата: Суббота, 07.05.2016, 19:01 | Сообщение № 133
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, интересно!
 
Ответить
СообщениеСпасибо, интересно!

Автор - jakky
Дата добавления - 07.05.2016 в 19:01
Lanalina Дата: Воскресенье, 08.05.2016, 00:50 | Сообщение № 134
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Интересное решение!
 
Ответить
СообщениеИнтересное решение!

Автор - Lanalina
Дата добавления - 08.05.2016 в 00:50
Azakia Дата: Среда, 08.06.2016, 10:19 | Сообщение № 135
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
VovaK, по первым постам нашел за глобальную переменную - получилось!
сделал для одного текстбокса а вот про юсерформ 0 я не нашел... да ещё и не знаю как это)))
если можете поясните пожалуйста про юсерформ 0
 
Ответить
СообщениеVovaK, по первым постам нашел за глобальную переменную - получилось!
сделал для одного текстбокса а вот про юсерформ 0 я не нашел... да ещё и не знаю как это)))
если можете поясните пожалуйста про юсерформ 0

Автор - Azakia
Дата добавления - 08.06.2016 в 10:19
SLAVICK Дата: Пятница, 05.08.2016, 11:04 | Сообщение № 136
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Всем привет. Решил добавить сюда и свой вариант календаря. Когда-то делал для одного задания.
Предельно простой, без лишних наворотов и код на порядок меньше :D .

Кнопки создаются динамически, поэтому - легко масштабируемый.
Для этого достаточно поменять размер рамки - все кнопки будут создаваться под новый размер .
К сообщению приложен файл: _CP_2016-04-06-.xlsm (46.6 Kb) · 9826079.jpg (26.5 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВсем привет. Решил добавить сюда и свой вариант календаря. Когда-то делал для одного задания.
Предельно простой, без лишних наворотов и код на порядок меньше :D .

Кнопки создаются динамически, поэтому - легко масштабируемый.
Для этого достаточно поменять размер рамки - все кнопки будут создаваться под новый размер .

Автор - SLAVICK
Дата добавления - 05.08.2016 в 11:04
VovaK Дата: Вторник, 16.08.2016, 07:17 | Сообщение № 137
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Azakia, найдите в программном коде строку DateForm.Show и допишите 0 через пробел справа от этой записи.
DateForm - это имя UserForm.


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеAzakia, найдите в программном коде строку DateForm.Show и допишите 0 через пробел справа от этой записи.
DateForm - это имя UserForm.

Автор - VovaK
Дата добавления - 16.08.2016 в 07:17
lazy Дата: Понедельник, 10.10.2016, 19:20 | Сообщение № 138
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
здравствуйте
вставил этот макрос в свой файл, при использование появился вопрос, как можно сделать так чтобы при нажатие на объединённую ячейку ( в прописанном диапазоне макроса) левой кнопкой мыши календарик тоже выскакивал.
 
Ответить
Сообщениездравствуйте
вставил этот макрос в свой файл, при использование появился вопрос, как можно сделать так чтобы при нажатие на объединённую ячейку ( в прописанном диапазоне макроса) левой кнопкой мыши календарик тоже выскакивал.

Автор - lazy
Дата добавления - 10.10.2016 в 19:20
George87 Дата: Четверг, 24.11.2016, 17:52 | Сообщение № 139
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте!
Понадобился календарь для проекта.
Прочитал, сколько сейчас стало возникать проблем с `Элементом управления Календарь` (`Calendar Control`) %) и понял, что нужен календарь, не зависящий от библиотек сторонних производителей.
К сожалению, по образованию я – не программист. Опыт VBA у меня не большой.
Я прекрасно понимал, сколько(!) особенностей должен учитывать хороший календарь. Таким образом, самостоятельное его создание было для меня грандиозной(!!!) задачей. :o
Поэтому ВЫРАЖАЮ ОГРОМНУЮ БЛАГОДАРНОСТЬ всем авторам, представившим здесь свои календари!!! hands


Сообщение отредактировал George87 - Четверг, 24.11.2016, 17:53
 
Ответить
СообщениеЗдравствуйте!
Понадобился календарь для проекта.
Прочитал, сколько сейчас стало возникать проблем с `Элементом управления Календарь` (`Calendar Control`) %) и понял, что нужен календарь, не зависящий от библиотек сторонних производителей.
К сожалению, по образованию я – не программист. Опыт VBA у меня не большой.
Я прекрасно понимал, сколько(!) особенностей должен учитывать хороший календарь. Таким образом, самостоятельное его создание было для меня грандиозной(!!!) задачей. :o
Поэтому ВЫРАЖАЮ ОГРОМНУЮ БЛАГОДАРНОСТЬ всем авторам, представившим здесь свои календари!!! hands

Автор - George87
Дата добавления - 24.11.2016 в 17:52
George87 Дата: Четверг, 24.11.2016, 18:10 | Сообщение № 140
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
На форуме заметил интересное предложение по улучшению одного из календарей:

Предлагаю функциональность улучшить.
Кнопочки соответствующие числам не попадающим в данный месяц у вас неактивны.
Имеем просто "призраки" на форме,
Вот предлагаю Вам сделать их тоже активными, пусть только шрифтом выделяются бледным
плюс при клике по ним пусть месяц меняется на соответствующий,
так-же как и при смене месяца в выпадающем списке.
Эта улучшенная функциональность так-же и внешний вид улучшит,
т.к неактивные кнопочки выглядят угрюмо и громоздко.

Решил попробовать свои силы.
В результате получились следующие дополнения и изменения:
1. Добавлен выбор режима вставки дат на лист:
– вставить только одну дату и время (форма работает в модальном режиме и закрывается после вставки даты на лист)
– вставить несколько дат
2. Добавлен выбор способа вставки даты на лист: одиночным или двойным щелчком по числу на календаре.
3. Добавлена возможность выбора дат не текущего месяца.
4. Добавлены всплывающие подсказки с названием месяца над датами не текущего месяца. Если не текущими месяцами являются декабрь или январь, во всплывающие подсказки добавляется соответствующий год.
5. Добавлена опция выделения цветом субботы в качестве выходного дня.
6. Добавлена опция выделения цветом праздничных дней.
Праздничные дни, которые не переносятся, выделяются цветом только после 1990 года.
Конечно, и в этот период праздничные даты менялись. Это можно отразить в календаре. Однако такая работа требует много времени и не является задачей моего проекта.
7. Добавлена кнопка «Установить календарь на сегодня».
8. Добавлена возможность ручного ввода значений часов, минут и секунд (с фильтрацией введённых значений).
9. Добавлена возможность настройки внешнего вида основных элементов календаря без изменения кода макроса.

10. Перенесены макросы запуска календаря и вставки даты на лист.
11. Изменено направление прокрутки месяцев.
12. Исправлены ошибки, возникающие при не корректном ручном вводе значения года.
13. Исправлена ошибка `-2147467259 (80004005)`, возникающая при движении указателя мыши по числам месяца, если курсор остался в поле ввода значения года.
14. При смене года или месяца время теперь устанавливается на 00:00:00. Это логично, ведь в заголовке формы пишется 1-е число месяца.
15. Для исключения ошибок в макросе допустимый диапазон годов был ограничен от 2 до 9998.
При этом следует отметить, что Excel работает только с датами после 01.01.1900.
Более ранние даты воспринимаются только как текстовые строки или как даты после 2000 года (например, следующее содержание ячейки: 1.1.1 может быть воспринято как 01.01.2001).
К тому же необходимо помнить о смене календарей в России:
- «Декрет о введении в Российской республике западноевропейского календаря» от 26.01.1918 г.:
после 31.01.1918 наступило 14.02.1918
- Смена календаря Петром I с 01.01.1700 г.
- С 1492 года новый год начали отмечать с 01 или 21 сентября.
- Раньше новый год отмечали 01 или 21 марта.
Таким образом, я не могу гарантировать точное соответствие дней недели и чисел месяцев до 1918 года.
Прошу историков не судить строго данный календарь.
При необходимости можно будет внести поправки.

16. В файл с календарём добавлена инструкция.

al-Ex предлагал, чтобы при клике по числам не текущего месяца месяц менялся на соответствующий так же, как и при смене месяца в выпадающем списке.
Это не сложно сделать.
Однако не совсем понятно, зачем?
Для перехода на другой месяц есть 2 элемента: выпадающий список и кнопки прокрутки.
А щелчком по числу месяца пользователь вставляет дату на лист.
Наверное, такую смену месяца можно предложить в качестве опции при вставке даты на лист ДВОЙНЫМ щелчком. Пишите, если кому-то это понадобится.

Я – любитель-самоучка. Поэтому сразу прошу прощения за оформление моего кода. Да, я пишу очень широко. Но иначе я сам потом не могу прочитать даже свои макросы.

Проводить полное тестирование календаря у меня нет сейчас возможности.
Приму любые замечания и пожелания.
В меру своих знаний готов помочь в работе над таким нужным проектом. B)
Рекламные ссылки удалены

[p.s.]
Размер файла с календарём получился больше 100 Kb, поэтому к сообщению он не прикрепился :(
Вот ссылка на Yandex.диск:
Версия календаря (ноябрь 2016 г.)
К сообщению приложен файл: 3864846.png (34.1 Kb)


Сообщение отредактировал Pelena - Четверг, 24.11.2016, 18:42
 
Ответить
СообщениеНа форуме заметил интересное предложение по улучшению одного из календарей:

Предлагаю функциональность улучшить.
Кнопочки соответствующие числам не попадающим в данный месяц у вас неактивны.
Имеем просто "призраки" на форме,
Вот предлагаю Вам сделать их тоже активными, пусть только шрифтом выделяются бледным
плюс при клике по ним пусть месяц меняется на соответствующий,
так-же как и при смене месяца в выпадающем списке.
Эта улучшенная функциональность так-же и внешний вид улучшит,
т.к неактивные кнопочки выглядят угрюмо и громоздко.

Решил попробовать свои силы.
В результате получились следующие дополнения и изменения:
1. Добавлен выбор режима вставки дат на лист:
– вставить только одну дату и время (форма работает в модальном режиме и закрывается после вставки даты на лист)
– вставить несколько дат
2. Добавлен выбор способа вставки даты на лист: одиночным или двойным щелчком по числу на календаре.
3. Добавлена возможность выбора дат не текущего месяца.
4. Добавлены всплывающие подсказки с названием месяца над датами не текущего месяца. Если не текущими месяцами являются декабрь или январь, во всплывающие подсказки добавляется соответствующий год.
5. Добавлена опция выделения цветом субботы в качестве выходного дня.
6. Добавлена опция выделения цветом праздничных дней.
Праздничные дни, которые не переносятся, выделяются цветом только после 1990 года.
Конечно, и в этот период праздничные даты менялись. Это можно отразить в календаре. Однако такая работа требует много времени и не является задачей моего проекта.
7. Добавлена кнопка «Установить календарь на сегодня».
8. Добавлена возможность ручного ввода значений часов, минут и секунд (с фильтрацией введённых значений).
9. Добавлена возможность настройки внешнего вида основных элементов календаря без изменения кода макроса.

10. Перенесены макросы запуска календаря и вставки даты на лист.
11. Изменено направление прокрутки месяцев.
12. Исправлены ошибки, возникающие при не корректном ручном вводе значения года.
13. Исправлена ошибка `-2147467259 (80004005)`, возникающая при движении указателя мыши по числам месяца, если курсор остался в поле ввода значения года.
14. При смене года или месяца время теперь устанавливается на 00:00:00. Это логично, ведь в заголовке формы пишется 1-е число месяца.
15. Для исключения ошибок в макросе допустимый диапазон годов был ограничен от 2 до 9998.
При этом следует отметить, что Excel работает только с датами после 01.01.1900.
Более ранние даты воспринимаются только как текстовые строки или как даты после 2000 года (например, следующее содержание ячейки: 1.1.1 может быть воспринято как 01.01.2001).
К тому же необходимо помнить о смене календарей в России:
- «Декрет о введении в Российской республике западноевропейского календаря» от 26.01.1918 г.:
после 31.01.1918 наступило 14.02.1918
- Смена календаря Петром I с 01.01.1700 г.
- С 1492 года новый год начали отмечать с 01 или 21 сентября.
- Раньше новый год отмечали 01 или 21 марта.
Таким образом, я не могу гарантировать точное соответствие дней недели и чисел месяцев до 1918 года.
Прошу историков не судить строго данный календарь.
При необходимости можно будет внести поправки.

16. В файл с календарём добавлена инструкция.

al-Ex предлагал, чтобы при клике по числам не текущего месяца месяц менялся на соответствующий так же, как и при смене месяца в выпадающем списке.
Это не сложно сделать.
Однако не совсем понятно, зачем?
Для перехода на другой месяц есть 2 элемента: выпадающий список и кнопки прокрутки.
А щелчком по числу месяца пользователь вставляет дату на лист.
Наверное, такую смену месяца можно предложить в качестве опции при вставке даты на лист ДВОЙНЫМ щелчком. Пишите, если кому-то это понадобится.

Я – любитель-самоучка. Поэтому сразу прошу прощения за оформление моего кода. Да, я пишу очень широко. Но иначе я сам потом не могу прочитать даже свои макросы.

Проводить полное тестирование календаря у меня нет сейчас возможности.
Приму любые замечания и пожелания.
В меру своих знаний готов помочь в работе над таким нужным проектом. B)
Рекламные ссылки удалены

[p.s.]
Размер файла с календарём получился больше 100 Kb, поэтому к сообщению он не прикрепился :(
Вот ссылка на Yandex.диск:
Версия календаря (ноябрь 2016 г.)

Автор - George87
Дата добавления - 24.11.2016 в 18:10
Мир MS Excel » Вопросы и решения » Готовые решения » Выпадающий календарь (Для программирующих в среде VBA.)
  • Страница 7 из 8
  • «
  • 1
  • 2
  • 5
  • 6
  • 7
  • 8
  • »
Поиск:

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