Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Перенос даты с Textboxa в таблицу


Автор: Йекс 6.12.2006, 20:59
Суть проблемы - если в Textboxе ввожу любую дату (типа 06.12) и переношу её в ячейку таблицы, то он переносится как обычное  дробное число (то есть 6,12). Подскажите, как от такого избавиться, чтобы дата перносилась как дата?

Автор: ~FoX~ 7.12.2006, 09:02
Йекс, Код покажи...
А вообще нужный формат ячейки выстави перед тем как туда что то запихивать

Автор: Йекс 7.12.2006, 12:42
~FoX~

Код примерно такой:

Private Sub CommandButton1_Click()
 ThisWorkbook.Sheets(1).Range("A1") = UserForm1.TextBox1.Value
End Sub


Если в TextBox1 ввести дату 06.12, а  в ячейке А1 формат вообще не выставлять, то он перенесёт как 6,12. Если формат в А1 выставить как дд.мм.гггг то он перенесёт как 06.01.1900. 

Автор: mihanik 7.12.2006, 13:07
Попробуй так...

Код

Private Sub CommandButton1_Click()
 ThisWorkbook.Sheets(1).Range("A1").Value = UserForm1.TextBox1.Value
End Sub


Или так

Код

Private Sub CommandButton1_Click()
 ThisWorkbook.Sheets(1).Range("A1").Value = format(CDate(UserForm1.TextBox1.Value),"dd.mm.yy")
End Sub

Автор: Йекс 7.12.2006, 18:54
Цитата

Попробуй так...

...

Или так



Попробовал. И так, и так. В первом случае всё так же, как и было. Во втором случае дата переносится как простой текст, то есть если я начинаю работать с данной ячейкой как с датой, то ничего не получается... Ни формат другой этой ячейке, ни  формулы к ней не применить...

Автор: mihanik 8.12.2006, 08:33
А вот так...

Код

Private Sub CommandButton1_Click()
 ThisWorkbook.Sheets(1).Range("A1").NumberFormat = "dd/mm/yy;@"
 ThisWorkbook.Sheets(1).Range("A1").Value = UserForm1.TextBox1.Value
End Sub


У меня работает нормально...

Автор: Йекс 8.12.2006, 17:10
Цитата

А вот так...


 06.12 вставляет как  06.01.00.
06.12.06 вставляет как 06.12.06, но не как дату, а как текст

Цитата

У меня работает нормально...


Если работает нормально, то вот это он должен посчитать:

Private Sub CommandButton1_Click()
ThisWorkbook.Sheets(1).Range("A1").NumberFormat = "dd/mm/yy;@"
 ThisWorkbook.Sheets(1).Range("A1").Value = UserForm1.TextBox1.Value
ThisWorkbook.Sheets(1).Range("A2").Value = ThisWorkbook.Sheets(1).Range("A1").Value - 1
End Sub

Считает?


Блин, третий день с такой мелочью парюсь...

Автор: Йекс 9.12.2006, 10:09
Всем спасибо, разобрался...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)