Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 12:10   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Дата в ячейки, в объекте ComboBox.

Здравствуйте.
При выборе даты (диапазона =Лист1!$A$1:$A$2) в ComboBox1 дата отображается не корректно (в текстовом формате). Как ее преобразовать в дату.
Вложения
Тип файла: rar Format_Dat.rar (9.7 Кб, 27 просмотров)
segail вне форума Ответить с цитированием
Старый 07.12.2010, 12:17   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

В модуле формы
Код:
Private Sub ComboBox1_Change()
ComboBox1.Value = Format(ComboBox1.Value, "dd.mm.yyyy")
End Sub
Работает
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 07.12.2010 в 12:21.
VictorM вне форума Ответить с цитированием
Старый 07.12.2010, 12:23   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
В модуле формы
Код:
Private Sub ComboBox1_Change()
ComboBox1.Value = Format(ComboBox1.Value, "dd.mm.yyyy")
End Sub
Работает
Почему нужно форматировать, я ведь просто выбираю значение диапазона =Лист1!$A$1:$A$2, без каких либо наворотов?
segail вне форума Ответить с цитированием
Старый 07.12.2010, 12:29   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Почему нужно форматировать
По умолчанию формат ComboBox текстовый.
Если я не прав, пусть меня поправят. Не силен я в теории))
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 07.12.2010 в 12:33.
VictorM вне форума Ответить с цитированием
Старый 07.12.2010, 12:44   #5
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Мне то спорить не зачем, конечно Вы правы, только даты достали, так все запутанно…
Где то и текстовый вариант подходит. Короче не знаю где как нужно. Если текстовый так текстовый, если соотношение так соотношение, если дата так дата. Но ведь бывает, что при смешивание свойств формата код работает, а бывает что на простых мелочах не хочет срабатывать. Где середина?
segail вне форума Ответить с цитированием
Старый 07.12.2010, 13:29   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Но ведь бывает,
Здесь еще имеет значение, как задавать диапазон данных для ComboBox
Попробуйте например вот так написать.
Код:
Private Sub UserForm_Initialize()
ComboBox1.List = Range("A1:A2").Value
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 07.12.2010 в 13:32.
VictorM вне форума Ответить с цитированием
Старый 07.12.2010, 13:35   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Если вы будете придерживаться правила Дату хранить в типе Date и работать с ней.Отображать в типе String.
у контролов,ячеек использоватьсвойства text,value ,все будет нормально.
Вовремя делать перевод даты в соответствующий тип СDate(String) и Format(Дату, "dd.mm.yyyy")
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.12.2010, 15:10   #8
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Если вы будете придерживаться правила Дату хранить в типе Date и работать с ней.Отображать в типе String.
у контролов,ячеек использоватьсвойства text,value ,все будет нормально.
Вовремя делать перевод даты в соответствующий тип СDate(String) и Format(Дату, "dd.mm.yyyy")
Как хранить?
Например, есть лист с датами, есть еще один, есть объекты VBA которые будут работать с датами, как все это хранить и где, тем более когда код пишется спантанно, извините я просто недопонимаю…
segail вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox и создание ячейки 4e4en Microsoft Office Excel 2 03.11.2010 11:22
Вычитание дат(дата-дата=кол.дней) zallza Общие вопросы Delphi 1 31.05.2010 22:50
ComboBox и дата Screame Microsoft Office Excel 2 14.10.2009 14:37
Объект на объекте. nikz2 Общие вопросы C/C++ 1 03.10.2009 23:55
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев stanislav24 Microsoft Office Excel 5 20.12.2008 10:36