powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ДатаВремя в VBA
4 сообщений из 4, страница 1 из 1
ДатаВремя в VBA
    #33206583
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот несколько вопросов начинающего:
- есть ли в VBA (используется в Excel от MSOffice 2000) возможность в ОДНОЙ переменной хранить дату И время одновременно??
- есть ли возможность преобразовать строковую переменную в переменную с датой с указанием маски строкового значения??

Откуда такие вопросы: есть строка, в которой значение введенной пользователем даты. В формате dd/mm/yyyy hh24:mi. Хочется завести переменную с типом ДатыВремени, которая будет хранить такое значение.
Так же нужно поместить это значение в ячейку с типом даты. По какой-то причине при установке значения на листе напрямую из строки Excel путает местами месяц и день. Чего не происходит при установке значения из переменной даты.

Заранее спасибо.
...
Рейтинг: 0 / 0
ДатаВремя в VBA
    #33207083
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать,например:
Mystr = Format(Now, "dd/mm/yy h:mm;@")
Range("A1").NumberFormat = "dd/mm/yy h:mm;@"
Range("A1").Value = Mystr
...
Рейтинг: 0 / 0
ДатаВремя в VBA
    #33207143
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вобщем-то уже в некотором роде порешал свою проблему только что... Каким образом:
разделяем строку со вводом на 2 части - дата и время. Каждый элемент заносим в ячейки с определенной маской (просто как строки). Потом в третьей ячейке просто складываем ячейки с компонентами - и о чудо! Получаем ячейку с датой и временем одновременно!

Но! все же остается вопрос ради любопытства: есть ли в Вижуал Васике средства для работы с датой и временем как с единой сущностью? Так сказать в одном флаконе? Потому что для своих сегодняшних нужд я смог извратиться и нарисовать все с помощью ссылок, а завтра может понадобиться работать именно с переменной типа ДатаВремя (что-то вроде timestamp). И очень интересна возможность конвертировать строковое значение в значение ДатаВремя при помощи маски (напр. как в Оракле - to_Date('01/01/2005', 'dd/mm/yyyy')).

Если кто знает - пож. поделитесь!!
...
Рейтинг: 0 / 0
ДатаВремя в VBA
    #33207267
Vadim RomanenkoИ очень интересна возможность конвертировать строковое значение в значение ДатаВремя при помощи маски (напр. как в Оракле - to_Date('01/01/2005', 'dd/mm/yyyy')).

Стандартных средств нет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Function ConvertStrToDate( _
  strDate As String, _
  strMask As String) As Date
    Select Case strMask
        Case "dd/mm/yyyy"
            ConvertStrToDate = DateSerial(Val(Mid(strDate,  7 )), _
              Val(Mid(strDate,  4 ,  2 )), Val(Left(strDate,  2 )))
    End Select
End Function

Код: plaintext
ConvertStrToDate("01/01/2005","dd/mm/yyyy")
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ДатаВремя в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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