Страница: 1 |
Страница: 1 |
Вопрос: Какая-то тупая проблема с датой. Код или Excel?
Добавлено: 30.01.12 10:37
Автор вопроса: DrugON | ICQ: nospam
Здравствуйте.
Для работы написал небольшой макрос.
Все здорово работает, со своей функцией справляется.
В самом начале выбирается дата отчета, который будет обрабатываться (файл сохраняется под новым именем в архиве).
Но вот какая незадача. Столкнулся с проблемой, причина которой мне абсолютно непонятна - дату 1 ноября (01/11/2011) макрос воспринимает как 11 января (11/01/2011).
Причем как-то странно - если выбираешь число от 13-го и выше, то всё верно - 13-го месяца не бывает и дата ставится правильно. А при выборе любой даты до 13-го числа (любого месяца) - день с месяцем меняются местами.
Причем изначально такой проблемы не было. Настройки никакие не менял. Да других компьютерах работает без проблем, на моем же - такая заморочка.
Уважаемые, подскажите, где искать источник трабла?
Кусок кода:
Application.StatusBar = "Ввод новой даты / Enter new data"
preDate = Format(Cells(1, 2).Value, "dd-mmm-yy")
Cells(1, 2).Select
Selection.ClearContents
Call Calendar_
Application.ScreenUpdating = True
Application.ScreenUpdating = False
newDate = Format(Cells(1, 2).Value, "dd-mmm-yyyy")
Application.StatusBar = False
If newDate = "" Then
Application.ScreenUpdating = True
Cells(1, 2).Value = Format(preDate, "dd-mm-yyyy")
MsgBox "You must choose a date!!! Push the button again!"
Application.StatusBar = False
Exit Sub
Else
End If
Sub Calendar_()
Calendar.Show
End Sub
Форму самого календаря где-то скоммуниздил, скорее всего тут на форуме. Отображается обычный календарь, с возможностью выбора месяца, года и дня. Скрин формы:
http://s018.radikal.ru/i501/1201/ae/a60bbeaf0397.jpg
[IMG]http://s018.radikal.ru/i501/1201/ae/a60bbeaf0397.jpg[/IMG]
Код формы:
Private Sub Calendar1_Click()
ActiveCell = Format(Calendar1.Value, "dd/mm/yyyy")
Calendar.Hide
End Sub
Private Sub UserForm_Activate()
Me.Calendar1.Value = Date
End Sub
Я так понимаю, что если на других компах все нормально, то дело не в коде (использовал его очень часто и никогда проблем не было), то проблема в каких-то региональных системных настройках?
Вот как обычно - какая-то плевая проблема стопорит всё. И чем проще - тем сложнее.
Помогите, а?
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #1
Добавлено: 30.01.12 10:39
Картинки нельзя в сообщения вставлять, да?
Номер ответа: 2
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #2
Добавлено: 30.01.12 10:54
В самом деле - изменил региональные настройки и все стало восприниматься правильно.
Но хотелось бы, чтобы код не зависел от региональных системных настроек и работал всегда.
Да и не менял я их до этого. Работал нормально, потом вдруг перестал. о_О
Номер ответа: 3
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #3
Добавлено: 30.01.12 20:39
И снова - ставлю региональные настройки на отличные от России - снова путаются местами день с месяцем. Во бред.
В макросе прописан формат даты - DD/MM/YYYY
Почему же он игнорирует формат?
Номер ответа: 4
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #4
Добавлено: 31.01.12 09:02
Не понял кто у Вас ответственен за порчу. Может быть попробовать другой контролл, например MonthView. Выглядит по моему аккуратнее.
Номер ответа: 5
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #5
Добавлено: 31.01.12 22:44
Да вот самому интересно - главное на других компьютерах все работает нормально, никаких вопросов юзеры не задают, специально просил затестить на всевозможных датах. Всё гуд. Явно что-то с настройками Экселя или системными. Но как ни крутил их - ничего не помогает (((
Номер ответа: 6
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #6
Добавлено: 31.01.12 23:00
Скажите, а как заюзать этот контрол MonthView?
Нужно какую-то библиотеку скачивать для этого или я не так понял?
Не пинайте, я далеко не спец. Всё у меня на оооочень любительском уровне.
Номер ответа: 7
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #7
Добавлено: 31.01.12 23:09
Решил проблему, убрав форматирование даты.
Но все же хотелось бы узнать, что за контрол MonthView и с чем его есть.
Спасибо заранее.
Номер ответа: 8
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #8
Добавлено: 01.02.12 09:13
www.dimit.pochta.ru/wrem/mw.jpg
если библиотека не установлена, то да - скачивать.
Номер ответа: 9
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #9
Добавлено: 29.01.13 14:52
Не совсем понял Вашу ссылку.
Друзья, научите, что за MonthView такой? С чем его едят и где берут?
Номер ответа: 10
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #10
Добавлено: 29.01.13 14:55
Ой, нашел однако в дополнительных контролах. Название просто начинается с Microsoft, а у меня непереносимость этого слова глазами, вот.
Попробую его прикрутить, может оно в MS Office 2010 заработает...
Номер ответа: 11
Автор ответа:
DrugON
ICQ: nospam
Вопросов: 10
Ответов: 53
Профиль | | #11
Добавлено: 31.01.13 11:23
Заработало, огромное спасибо за совет!