Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
JohnDrinking
23 / 1 / 0
Регистрация: 01.01.2015
Сообщений: 60
1

Дата распознается как текст

04.06.2015, 16:27. Просмотров 671. Ответов 2
Метки нет (Все метки)

Добрый день!
Долго терпел этот беспредел Excel, но все же решил узнать, кто виноват!

Вообщем, пара вопросов про форматы:

1. Есть дата, например, 12.06.2015 (выгружена из массива), по всей видимости, определяется как текст. Ок. Ставлю формат ячеек "Дата", ничего не меняется, кроме формата ячейки - "Дата". А по факту Excel к этой ячейке относится, как к тексту. Приходится либо заходить в ячейку, нажимать Enter, либо делать текст по столбцам - "ДМГ". Из-за чего такая петрушка, что Дата по факту и не Дата вовсе?

2. Как массово преобразовать макросом в нормальные даты?

Записью макросов сделал так:
Visual Basic
1
2
3
4
For Each x In Split("24 25 26 27 29 30 31 32")
    Columns(CInt(x)).TextToColumns Destination:=Range("A1").Columns(CInt(x)), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 3), TrailingMinusNumbers:=True
Next
Потом так:
Visual Basic
1
2
3
4
For Each x In Split("24 25 26 27 29 30 31 32")
    Columns(CInt(x)).TextToColumns Destination:=Range("A1").Columns(CInt(x)), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True
Next
Но не подходит - макросом он не все так преобразует, как руками - иногда меняются Даты с Месяцами местами.
(12.06.2015 легко может стать 06.12.2015). Что при первом варианте, что при втором.

Заранее спасибо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2015, 16:27
Ответы с готовыми решениями:

Аналог функции ДАТАЗНАЧ ('дата как текст')
Граждане ! Подскажите пожалуйста аналог функции ДАТАЗНАЧ('дата как текст') в...

Как проверить существование файла в папке,если filesystemobject не распознается VBA?
вопрос такой: надо ли подключать какую-нибудь бибилиотеку для работы с...

Неверно распознается формат даты
Может кто-то за деньги помочь написать функцию для работы с буфером обмена в...

Как преобразовать число в текст (на подобии =текст() )
Нужно какую нибудь функцию VBA, которая бы выполняла то же самое что и =текст()...

Имя книги как дата и время
Возникла необходимость сохранять файл с именем типа "09.02.2015 11:35:12.xls"....

2
mrf
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 239
Завершенные тесты: 2
04.06.2015, 17:57 2
Лучший ответ Сообщение было отмечено JohnDrinking как решение

Решение

здравствуйте,
была примерно такая же проблема.
справились тут:
Копирование и вставка дат
1
JohnDrinking
23 / 1 / 0
Регистрация: 01.01.2015
Сообщений: 60
05.06.2015, 12:27  [ТС] 3
Цитата Сообщение от mrf Посмотреть сообщение
здравствуйте,
была примерно такая же проблема.
справились тут:
Добрый день.
Попробовал Ваш код.

Правда,
Visual Basic
1
FieldInfo:=Array(0, 4)
изменил на
Visual Basic
1
FieldInfo:=Array(0, 3)
, т.к. в первом случае он меняет день-месяц местами.

В итоге такой код:
Visual Basic
1
2
3
4
For Each x In Split("24 25 26 27 29 30 31 32")
    Columns(CInt(x)).TextToColumns Destination:=Range("A1").Columns(CInt(x)), DataType:=xlFixedWidth, _
        OtherChar:=".", FieldInfo:=Array(0, 3), TrailingMinusNumbers:=True
Next
99% дат отрабатывается нормально, но некоторые даты все равно меняет день с месяцем.
Т.е. полностью исправить ошибку не удалось.

Добавлено через 32 минуты
UPD: Ваш код работает, спасибо, разобрался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2015, 12:27

Как получить атрибут фотографии Дата съемки?
Как получить атрибут фотографии Дата съемки? Давным-давно сделала себе...

Использование текста закладки как переменную типа дата
Друзья! Здравствуйте! Прошу помочь чайнику. Имеется документ с множеством...

Как проверить, попадает ли какая-нибудь заданная дата в диапазон?
Привет. В текстовой(текстовый формат) ячейке есть текст вида 08.10.05 -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru