Страницы: 1
RSS
Преобразовать текст в дату
 
Здравствуйте, знатоки Ексель.  
Есть проблема: в ячейке введен текст-  "Август 2012 г." Нужно преобразовать его в дату-  Август 2012 с применением формата ММММ ГГГГ_)"г." Путем долгих ухищрений получилась такая функция =ДАТАЗНАЧ(ТЕКСТ(ЛЕВСИМВ(D2;ДЛСТР(D2)-3);"ДД.ММ.ГГГ"))  
Смысл всего этого в том, что лист копируется, переименовывается, затем нужно открыть код VBA  
 
Private Sub Worksheet_Activate()  
   Cells(2, 4) = Лист2.Name  
End Sub  
 
и остается исправить номер листа.    
 
Подскажите, есть ли другие варианты для решения этой задачи?
 
вместо Лист2 пишите me
 
Спасибо большое! Получилось, вопрос снят.
 
Без формул  
Private Sub Worksheet_Activate()  
   Cells(2, 3).NumberFormat = "[$-419]mmmm yyyy"" г."";@"
   Cells(2, 3) = DateValue(Replace(Me.Name, " г.", ""))  
End Sub  
Строку  Cells(2, 3).NumberFormat = "[$-419]mmmm yyyy"" г."";@" можно исключить, если формат задать сразу
 
Или без макроса формулой  
=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПРАВСИМВ(ЯЧЕЙКА("имяфайла");ДЛСТР(ЯЧЕЙКА("имяфайла"))-ПОИСК("]";ЯЧЕЙКА("имяфайла")));" г.";))  
 
зы. Правда формула в английской версии офиса не работает. макрос работает, если винда русская.
 
{quote}{login=Михаил С.}{date=12.07.2012 04:23}{thema=}{post}...формула в английской версии офиса не работает{/post}{/quote}Работает, если заменить "имяфайла" на "filename"  
Мы это обсуждали здесь:    
http://www.excelworld.ru/forum/7-1898-20973-16-1340506546  
и здесь:  
http://www.excelworld.ru/forum/7-1913-21020-16-1340548602
Страницы: 1
Читают тему
Наверх