powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите с форматом даты в VBA Excel
5 сообщений из 5, страница 1 из 1
Помогите с форматом даты в VBA Excel
    #34716071
GoldenAxe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C помощью UrerForm, в определенном ComboBox выбирается дата (день и месяц)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub UserForm_initialize()
For i =  1  To  12 
For j =  1  To  31 
' получается список всех дней високосного года
ComboBox1.AddItem (Format(DateSerial( 1980 , i, j), "dd mmmm")) 
Next j
Next i
End Sub

Затем значение этого ComboBox я записываю в ячейку А1

Код: plaintext
Sheets("БД").Cells( 1 ,  1 ) = ComboBox1.Value

Но записывается эта дата просто как, например, "21 января" и Экселем как дата не воспринемается, и соответственно затем много таких дат нельзя отсортировать.

Вопрос: Как с помощью подобного всплывающего списка ComboBox задать дату без года чтоб она потом Экселем воспринемалась как дата и можно было потом таким же образом подхватить ее в другой ComboBox???

Вот если написать в Экселе в ячейке не "21 января" а "21 январь" - он сразу понимает что это дата. Но как в комбобокс вбить все месяцы в именительном падеже я не знаю. Вариант с последующей заменой уже в столбще имен всех месяцев на именительный падеж не пойдет, т.к. потом другой комбобокс ее уже не подхватит это значение как дату.
...
Рейтинг: 0 / 0
Помогите с форматом даты в VBA Excel
    #34716904
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без года дат не бывает
Код: plaintext
1.
2.
3.
Private Sub ComboBox1_Change()
Sheets("БД").Cells( 1 ,  1 ).NumberFormat = "dd mmmm"
Sheets("БД").Cells( 1 ,  1 ) = CDate(ComboBox1.Value & " 1980")
End Sub
...
Рейтинг: 0 / 0
Помогите с форматом даты в VBA Excel
    #34717099
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужна возможность сортировки, то можно воспользоваться числовым представлением месяца и даты и сортировать как текст

Код: plaintext
ComboBox1.AddItem (Format(DateSerial( 1980 , i, j), "mm-dd (dd mmmm)"))
...
Рейтинг: 0 / 0
Помогите с форматом даты в VBA Excel
    #34717224
GoldenAxe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeggasadЕсли нужна возможность сортировки, то можно воспользоваться числовым представлением месяца и даты и сортировать как текст

Код: plaintext
ComboBox1.AddItem (Format(DateSerial( 1980 , i, j), "mm-dd (dd mmmm)"))


Не, так не пойдет, т.к. тогда отсортируется в первую очередь по числу, а потом по месяцам...
Т.е. получится сначала в столбце будут 01 часло всех месяцев, потом 02-е число и т.д....
...
Рейтинг: 0 / 0
Помогите с форматом даты в VBA Excel
    #34717271
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldenAxe DeggasadЕсли нужна возможность сортировки, то можно воспользоваться числовым представлением месяца и даты и сортировать как текст

Код: plaintext
ComboBox1.AddItem (Format(DateSerial( 1980 , i, j), "mm-dd (dd mmmm)"))


Не, так не пойдет, т.к. тогда отсортируется в первую очередь по числу, а потом по месяцам...
Т.е. получится сначала в столбце будут 01 часло всех месяцев, потом 02-е число и т.д....

Смотри внимательнее, там сначала месяц, потом дата - это для сортировки, а потом уже дата и месяц для визуального восприятия пользователем!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите с форматом даты в VBA Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]