Set tb(13) = TextBox13
n = 1
tb(1).SetFocus
Calendar1.Value = Now
Непонятная проблема с date
calendar и textbox/
При выборе даты в календаре она подставляется в поле.
Вот тут и начинаются странности. Раньше всё работало, а пре переносе кода в новую программу столкнулся с трудностями.
Из текстового поля данные переносятся на лист книги excel и должны выводиться в формате например 03 июня 2005 года.
Итак это в идеале, но получаем: Если выбрана дата с числом до 12 то получаем вместо таты месяц (выбрали 03 июня 2005, а получили 06 марта 2005)
Так вот привожу некоторые фрагменты кода.
Код:
TextBox13 это бокс в который подставляеться дата, но почаму то подставляеться она туда уже в формате месяц день год, хотя в календаре выбираеться как день месяц год.
Код:
Private Sub TextBox13_Enter()
n = 13
End Sub
Private Sub Calendar1_Click()
tb(13) = Calendar1.Value
End Sub
n = 13
End Sub
Private Sub Calendar1_Click()
tb(13) = Calendar1.Value
End Sub
Код:
Dim myDate As String
myDate = Format(TextBox13, "dd mmmm yyyy")
Worksheets("Ëèñò3").Range("h3").Value = myDate
myDate = Format(TextBox13, "dd mmmm yyyy")
Worksheets("Ëèñò3").Range("h3").Value = myDate
В чем проблема?
Цитата:
TextBox13 это бокс в который подставляеться дата, но почаму то подставляеться она туда уже в формате месяц день год, хотя в календаре выбираеться как день месяц год.
региональные настройки даты не менялись ??
Цитата:
Originally posted by likhobory
региональные настройки даты не менялись ??
региональные настройки даты не менялись ??
Нет не менялись. Данная проблема присутствует только в excel 2003, а вот в excel 97 всё работает исправно, всё нормально форматируеться и нормально выводится.
Цитата:
Originally posted by blind7
Нет не менялись. Данная проблема присутствует только в excel 2003, а вот в excel 97 всё работает исправно, всё нормально форматируеться и нормально выводится.
Нет не менялись. Данная проблема присутствует только в excel 2003, а вот в excel 97 всё работает исправно, всё нормально форматируеться и нормально выводится.
Попробуйте вот так:
Код:
TextBox1.Value = Format(Calendar1.Value, "dd.mm.yyyy")
Я проверял на Excel 2000, а не на 2003, но у 2000 такой же способ "превращения" формата даты, что описали Вы, т.е. при формате по умолчанию "dd.mm.yyyy" в TextBox попадает "mm.dd.yyyy".
После применения указанного приёма всё становится на свои места.