Страницы: 1
RSS
как принудительно задать нужный формат даты
 
на листе в ячейке Worksheets("Data").Range("A2") имеем формат ДД.ММ.ГГГГ ч:мм  
для дальнейшей работы мне в макросе нужно иметь след. формат MM/DD/YY  hh:mm:ss (именно со слешем прямым)  
пишу  
ParamB = Format((Worksheets("Data").Range("A2")), "MM/DD/YY  hh:mm:ss.000")  
и получаю MM.DD.YY  hh:mm:ss  
 
Вопрос  
Как всетаки установить принудительно нужный формат?
 
вам текст нужен или число?  
код можно посмотреть?
 
{quote}{login=тухачевский}{date=17.12.2009 10:42}{thema=}{post}вам текст нужен или число?  
код можно посмотреть?{/post}{/quote}  
точнее дата (в числовом виде)  
в ячейке А2 на листе Data есть следующее значение:  
04.12.2009 14:30   что соответсвует формату ДД.ММ.ГГГГ ч:мм  
 
Далее в макросе в переменную закидываю это значение с преобразованием формата  
ParamB = Format((Worksheets("Data").Range("A2")), "MM/DD/YY hh:mm:ss")  
чтобы в итоге получить:    
12/04/09  14:30:00   (в таком виде это значение идет в запрос, который таскает данные из Access, где именно такой формат записи даты и времени)  
 
но на выходе ранее приведенной я не получаю нужного формата  
а имею всего    
12.04.09 14:30:00  
 
то бишь / заменяется на .  
 
Как быть?
 
ParamB =Replace (Format((Worksheets("Data").Range("A2")), "MM/DD/YY hh:mm:ss"), ".", "/")  
или системное отображение даты менять
Bite my shiny metal ass!      
 
{quote}{login=Лузер™}{date=17.12.2009 11:00}{thema=}{post}ParamB =Replace (Format((Worksheets("Data").Range("A2")), "MM/DD/YY hh:mm:ss"), ".", "/")  
или системное отображение даты менять{/post}{/quote}  
спасибо! сча попробую  
в догонку вопрос  
а если у пользователя будет другое системное отображение, то в конечном итоге в ParamB ляжет "/"?
 
я думаю надо вытаскивать символ разделителя даты и менять его на слеш.    
Сейчас с телефона трудно показать. завтра накидаю
Bite my shiny metal ass!      
 
Разделитель даты можно получить так:  
MyStr = Mid(Format(Date, "Short Date"), 3, 1)  
Но мне кажется проще забить какой-нибудь неиспользуемый символ или два, а потом делать с полученной строкой что угодно:  
ParamB = Replace(Format((Worksheets("Data").Range("A2")), "MM~~DD~~YY hh:mm:ss"), "~~", "/")
Bite my shiny metal ass!      
Страницы: 1
Читают тему
Наверх