Здравствуйте. VovaK, спасибо, отличный календарь. Вот только есть вопросик, не работает в объединенных ячейках, помогите поправить пожалуйста, если это возможно
Здравствуйте. VovaK, спасибо, отличный календарь. Вот только есть вопросик, не работает в объединенных ячейках, помогите поправить пожалуйста, если это возможноГость
В обработчике события SelectionChange должно быть прописано: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("F4:G4")) Is Nothing Then CurrentDate = Format(Now, "dd.mm.yyyy") DateForm.Show Range("F4").Value = CurrentDate End If End Sub
[/vba] в этом примере CurrentDate глобальная переменная. Работать в этом примере будет на клик объединенной ячейки "F4:G4".
Гость, 03.07.2012, 06:46
Должно работать.
В обработчике события SelectionChange должно быть прописано: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("F4:G4")) Is Nothing Then CurrentDate = Format(Now, "dd.mm.yyyy") DateForm.Show Range("F4").Value = CurrentDate End If End Sub
[/vba] в этом примере CurrentDate глобальная переменная. Работать в этом примере будет на клик объединенной ячейки "F4:G4".VovaK
Всем удачи. У нас все получится. С уважением, Владимир.
Сообщение отредактировал VovaK - Понедельник, 09.07.2012, 12:58
Не большой специалист в VBA пока))) подскажите пожалуйста, где можно поменять в коде календаря выгрузку, чтобы выбранное значение даты он вставлял в textbox другой формы, долго пытался разобраться но что то так и не получилось.
Заранее благодарю.)
Доброго времени суток!
Не большой специалист в VBA пока))) подскажите пожалуйста, где можно поменять в коде календаря выгрузку, чтобы выбранное значение даты он вставлял в textbox другой формы, долго пытался разобраться но что то так и не получилось.
Private Sub DateButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) класса DateClass
вместо ActiveCell.Value используйте глобальную переменную. значение которой потом передадите соответствующему значению активной формы. По другому не получится.
Roberto182,
В процедуре
Private Sub DateButton_DblClick(ByVal Cancel As MSForms.ReturnBoolean) класса DateClass
вместо ActiveCell.Value используйте глобальную переменную. значение которой потом передадите соответствующему значению активной формы. По другому не получится.VovaK
Всем удачи. У нас все получится. С уважением, Владимир.
umperec, если у Вас вопрос по Володиному календарю, то здесь его и задавайте. Если не сам Володя, так кто-нибудь другой Вам ответит. Если же Вам нужно разработать какую-то таблицу под Ваши конкретные требования, то для заказов на форуме есть специальный раздел Работа А если VovaK не отвечает на личку, так значит его и на форуме нет и Вашего сообщения здесь он всё равно не увидит (вообще-то могли бы и сами в его профиле посмотреть, что он последний раз был на форуме 04.09.2012) А потому Ваш последний пост по сути является оффтопом
umperec, если у Вас вопрос по Володиному календарю, то здесь его и задавайте. Если не сам Володя, так кто-нибудь другой Вам ответит. Если же Вам нужно разработать какую-то таблицу под Ваши конкретные требования, то для заказов на форуме есть специальный раздел Работа А если VovaK не отвечает на личку, так значит его и на форуме нет и Вашего сообщения здесь он всё равно не увидит (вообще-то могли бы и сами в его профиле посмотреть, что он последний раз был на форуме 04.09.2012) А потому Ваш последний пост по сути является оффтопом Alex_ST
А не мог бы кто нибудь знающий добавить в календарь кнопочку "Очистить", чтобы удалять неверно выбранную дату? (у меня стоит защита от редактирования на документе, возможно только выделение ячейки, по которому как раз выскакивает календарь). Большущее было бы ему спасибо = )
А не мог бы кто нибудь знающий добавить в календарь кнопочку "Очистить", чтобы удалять неверно выбранную дату? (у меня стоит защита от редактирования на документе, возможно только выделение ячейки, по которому как раз выскакивает календарь). Большущее было бы ему спасибо = )Next2012
Скачал отсюдова последний вариант календарика, помимо уже замеченного здесь увидел еще пару недоработок ниже описание и мой вариант решения проблемы
1) Если после вызова календарика сразу (не переключая месяц, или год) войти в режим ввода в ручную то текущий год не подставляется! В процедуре Private Sub UserForm_Activate() строку [vba]
[/vba] 2) После изменения года с помощью кнопочки SpinButton и последующем переходе в режим ручного ввода года перед ним появляется пробел и для того чтобы изменить год нужно не просто стереть последнюю цифру и вписать свою а еще и удалить пробел потому что количество символов в поле логично ограничено четырмя В процедуре Private Sub sbtSelectYear_Change() заменил строку [vba]
Code
CurrentYear = Str(sbtSelectYear.Value)
[/vba] заменил на строку [vba]
Code
CurrentYear = CStr(sbtSelectYear.Value)
[/vba] 3)Пока писал еще один баг вылез при попытке изменить месяц, периодически начала с ошибкой "Type mismatch" вылетать процедура Function DayOfWeek(iDay%, iMonth%, lYear&). До корней данной проблемы пока не успел добраться но кажется проблема в том что если выбрана дата отсутствующая в следующем месяце (допустим 31.01.10) то календарик пытается присвоить заголовку окна значение 31.02.10 естественно что такая дата не существует и процедура вылетает с ошибкой. Решения пока еще не придумал.
PS: Может кто то уже все эти и пока не найденные мной проблемы уже нашел и решил тогда может поделитесь последней версией файла. Если нет то может имеет смысл коллективными усилиями допилить этот проект до рабочего и выложить новую версию. Ведь календарик по сути весьма не плох
Скачал отсюдова последний вариант календарика, помимо уже замеченного здесь увидел еще пару недоработок ниже описание и мой вариант решения проблемы
1) Если после вызова календарика сразу (не переключая месяц, или год) войти в режим ввода в ручную то текущий год не подставляется! В процедуре Private Sub UserForm_Activate() строку [vba]
[/vba] 2) После изменения года с помощью кнопочки SpinButton и последующем переходе в режим ручного ввода года перед ним появляется пробел и для того чтобы изменить год нужно не просто стереть последнюю цифру и вписать свою а еще и удалить пробел потому что количество символов в поле логично ограничено четырмя В процедуре Private Sub sbtSelectYear_Change() заменил строку [vba]
Code
CurrentYear = Str(sbtSelectYear.Value)
[/vba] заменил на строку [vba]
Code
CurrentYear = CStr(sbtSelectYear.Value)
[/vba] 3)Пока писал еще один баг вылез при попытке изменить месяц, периодически начала с ошибкой "Type mismatch" вылетать процедура Function DayOfWeek(iDay%, iMonth%, lYear&). До корней данной проблемы пока не успел добраться но кажется проблема в том что если выбрана дата отсутствующая в следующем месяце (допустим 31.01.10) то календарик пытается присвоить заголовку окна значение 31.02.10 естественно что такая дата не существует и процедура вылетает с ошибкой. Решения пока еще не придумал.
PS: Может кто то уже все эти и пока не найденные мной проблемы уже нашел и решил тогда может поделитесь последней версией файла. Если нет то может имеет смысл коллективными усилиями допилить этот проект до рабочего и выложить новую версию. Ведь календарик по сути весьма не плохPoltava
Сообщение отредактировал Poltava - Пятница, 14.12.2012, 23:22
Poltava, привет! Рад видеть "в миру". Володин календарь я доделывал в основном в части редизайна, а код практически не трогал - только чуть причёсывал. А потом решил, что проще сделать свой. Топик JP_Сalendar ты не смотрел?
Если не понравился, то можешь довести до блеска и этот. Я думаю, народ будет тебе за это благодарен.
Poltava, привет! Рад видеть "в миру". Володин календарь я доделывал в основном в части редизайна, а код практически не трогал - только чуть причёсывал. А потом решил, что проще сделать свой. Топик JP_Сalendar ты не смотрел?
Если не понравился, то можешь довести до блеска и этот. Я думаю, народ будет тебе за это благодарен.Alex_ST
Ясно спасибо! На ваш календарик смотрел, как в принципе и на календарик от EducatedFool но этот подкупил своей красотой и необычностью. Ладно если никто не доделывал тогда постараюсь доработать, исправить найденные ошибки и выложить здесь на суд общественности. Но я сразу предупреждаю я не программист, я только пытаюсь учиться, так что если что прошу не бить если буду задавать глупые вопросы
Ясно спасибо! На ваш календарик смотрел, как в принципе и на календарик от EducatedFool но этот подкупил своей красотой и необычностью. Ладно если никто не доделывал тогда постараюсь доработать, исправить найденные ошибки и выложить здесь на суд общественности. Но я сразу предупреждаю я не программист, я только пытаюсь учиться, так что если что прошу не бить если буду задавать глупые вопросы Poltava
Poltava, ссылку в своём посте на календарь Игоря (EducatedFool) исправьте на ТАКУЮ А Володин календарь очень хорошо будет хоть кому-нибудь довести до полного блеска - уж очень оригинально задуман по дизайну. А сам Володя тут в последнее время очень редко появляется... Ну и на счёт своего опыта не прибедняйтесь: большинство из постоянных участников форума в миру кроме того ещё обычно тусят ещё как минимум на 2-3-4 форумах по "любимой головоломке", в том числе - и у Шмуйловича, где Вы достаточно хорошо известны и имеете заслуженно высокую репутацию.
Poltava, ссылку в своём посте на календарь Игоря (EducatedFool) исправьте на ТАКУЮ А Володин календарь очень хорошо будет хоть кому-нибудь довести до полного блеска - уж очень оригинально задуман по дизайну. А сам Володя тут в последнее время очень редко появляется... Ну и на счёт своего опыта не прибедняйтесь: большинство из постоянных участников форума в миру кроме того ещё обычно тусят ещё как минимум на 2-3-4 форумах по "любимой головоломке", в том числе - и у Шмуйловича, где Вы достаточно хорошо известны и имеете заслуженно высокую репутацию.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Пятница, 14.12.2012, 20:47
ссылку в своём посте на календарь Игоря (EducatedFool) исправьте
нет я имел ввиду именно календарик вызываемый из формы в файле по моей ссылке, а о том календарике на который Вы просите исправить ссылку я думал но во первых он мне показался более сложным для понимания, а как результат и для внедрения во вторых насколько я понял он есть для х64 и х32 версий то есть нужно будет еще и с этим разбираться и это еще одна причина по которой меня привлек именно календарик от VovaK
Quote
ссылку в своём посте на календарь Игоря (EducatedFool) исправьте
нет я имел ввиду именно календарик вызываемый из формы в файле по моей ссылке, а о том календарике на который Вы просите исправить ссылку я думал но во первых он мне показался более сложным для понимания, а как результат и для внедрения во вторых насколько я понял он есть для х64 и х32 версий то есть нужно будет еще и с этим разбираться и это еще одна причина по которой меня привлек именно календарик от VovaKPoltava
Poltava, я сейчас (по мере свободного времени) пишу код для позиционирования формы возле ячейки без API. Тест для 2007+ был здесь. Если разбираешься в vba, можешь припаять.
Чуть позже выложу обновленный для 2007+ на гитхаб.
Poltava, я сейчас (по мере свободного времени) пишу код для позиционирования формы возле ячейки без API. Тест для 2007+ был здесь. Если разбираешься в vba, можешь припаять.
Чуть позже выложу обновленный для 2007+ на гитхаб.nerv
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Можно будет попытаться позже по свободе прикрутить! но пока главной задачей вижу хотя бы в существующем коде отловить все баги! Вот только что еще на один наткнулся!
Можно будет попытаться позже по свободе прикрутить! но пока главной задачей вижу хотя бы в существующем коде отловить все баги! Вот только что еще на один наткнулся!Poltava
возможно ли изменить "конструкцию" календаря (что-то вроде представленной во вложенном файле), чтобы установка требуемой даты достигалась в три клика (если год находится "в прямой доступности"
вопрос по календарю
возможно ли изменить "конструкцию" календаря (что-то вроде представленной во вложенном файле), чтобы установка требуемой даты достигалась в три клика (если год находится "в прямой доступности"карандаш
Poltava, Действительно не обращал внимания, но факт - при прокрутке в шапке формы индицируются несуществующие даты типа 31 февраля с днем недели от 3 марта.
Предлагаю при прокрутке менять текущую дату на первое число месяца - будет логично.
Poltava, Действительно не обращал внимания, но факт - при прокрутке в шапке формы индицируются несуществующие даты типа 31 февраля с днем недели от 3 марта.
Предлагаю при прокрутке менять текущую дату на первое число месяца - будет логично.