Здравствуйте !
Столкнулся с корректным форматированием активной ячейки как даты пользуясь рекодером
что увидел при форматировании ячейки в окне "Формат ячеек"
1) Дата - Язык русский - тип выдает со звездочкой вида *12.04.2013 рекодер пишет формат .NumberFormat = "m/d/yyyy"
Делаем обратную задачу - макросом
пишу в макросе .NumberFormat = "dd.mm.yyyy;@" - проверяю что записано в ячейке Дата-Язык азербайджанский (кириллица) -тип без звездочки 12.04.2013
Тогда так
пишем в макросе .NumberFormat = "d/m/yyyy;@" - проверяю что записано в ячейке Дата-Язык английский (зимбабве) -тип без звездочки 2.04.2013
Тогда так
пишу в макросе .NumberFormat = "m/d/yyyy;@" - проверяю что записано в ячейке Дата-Язык английский (зимбабве) -тип без звездочки 4.02.2013
Соображаю вроде что значек @ вроде переводит в другой язык ладно (хотя если просто сделать "@" - это просто текстовый формат и что тогда m/d/yyyy;@ - может перевод даты в другой юникод ??)
Смотрю на запись рекодера с русским языком - .NumberFormat = "m/d/yyyy" и вижу почемуто перепутаны месяцы и дни в последовательности
Делаю так вроде как надо
пишу в макросе .NumberFormat = "d/m/yyyy" - проверяю что записано в ячейке Дата-Языка нет(все форматы Д.М.ГГГГ) -тип без звездочки 2.4.2013
2)Понимаю что Ничего не понимаю
делаю как рекодер записал в п.1 выше
пишу в макросе .NumberFormat = "m/d/yyyy" - проверяю что записано в ячейке Дата-Язык русский -тип со звездочкой вида *12.04.2013 то что надо
вопросы такие:
Почему в русском формате m/d/yyyy перепутаны дни и месяцы местами - а отображает как надо день-месяц-год
Что означает @ в макросе при прописывании формата - это перевод в другую кодировку или что ?
В чем разница ActiveCell.NumberFormat = "m/d/yyyy" и ActiveCell.Value = Format(ActiveCell.Value, "m/d/yyyy") - разницы не заметил ?