Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Как в Excel 2000 отобразить фотмат даты в виде


Автор: Валк 28.8.2006, 12:55
В Microsoft Office XP (Excel) можно задать формат даты в виде:
28 августа 2006
А в Microsoft Office 2000 (Excel) формат стандартными средствами можно задать только в виде:
28 Август 2006
Существуют ли возможности задать формат в более читабельном виде, как в первом случае? Или может какой макрос уже кем-то создан?

Автор: ИгнатьевАлексей 28.8.2006, 14:58
Набросал, от нечего делать. Может поможет?
Код

Function monthXP(ByVal subMonthName) As String

   Dim oldMonthes(11) As String
   Dim newMonthes(11) As String
   Dim n As Integer
   
   oldMonthes(0) = "Январь"
   oldMonthes(1) = "Февраль"
   oldMonthes(2) = "Март"
   oldMonthes(3) = "Апрель"
   oldMonthes(4) = "Май"
   oldMonthes(5) = "Июнь"
   oldMonthes(6) = "Июль"
   oldMonthes(7) = "Август"
   oldMonthes(8) = "Сентябрь"
   oldMonthes(9) = "Октябрь"
   oldMonthes(10) = "Ноябрь"
   oldMonthes(11) = "Декабрь"
   
   newMonthes(0) = "января"
   newMonthes(1) = "февраля"
   newMonthes(2) = "марта"
   newMonthes(3) = "апреля"
   newMonthes(4) = "мая"
   newMonthes(5) = "июня"
   newMonthes(6) = "июля"
   newMonthes(7) = "августа"
   newMonthes(8) = "сентября"
   newMonthes(9) = "октября"
   newMonthes(10) = "ноября"
   newMonthes(11) = "декабря"
  
   monthXP = subMonthName ' а сл.,если в строке не будет "старого месяца" - вернем строку
   
   For n = 0 To 11
      If InStr(1, subMonthName, oldMonthes(n)) <> 0 Then
          monthXP = Replace(subMonthName, oldMonthes(n), newMonthes(n))
          Exit For
      End If
   Next
   
End Function


Sub TEST()
   Range("A1").Value = monthXP(Range("A1").Value) 'изменяем формат месяца в "А1" тек.книги
End Sub

Автор: Izuver 28.8.2006, 19:52
А что в 2000 не работает формат"[$-FC19]дд ММММ гггг"

Автор: Валк 29.8.2006, 11:27
Izuver
А что в 2000 не работает формат"[$-FC19]дд ММММ гггг"
С неё и начал. Работать отказалась. Если у кого работает, то прошу указать версию Microsoft Office 2000 (какой SP и т. п.)

Автор: Валк 4.9.2006, 14:04
Проблему решил использованием макроса:
Код
Sh_Data.Cells(2, 2) = Format(Sh_Input.Cells(13, 2), "«dd» mmmm yyyy")

*Команда Format

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)