Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2013, 15:57   #1
LGM
 
Регистрация: 10.07.2013
Сообщений: 5
По умолчанию Преобразование текста в ячейке в дату

Добрый день, господа!
Возникла следующая проблема:
У меня Excel 2010.. В ячейках текстового формата на одном листе введены даты вот в таком виде "20120306", "20130704" и т.д. Необходимо преобразовать текст в ячейках к виду "06.03.2012", "04.07.2013" и т.д., ну а далее изменить формат на "Date" смогу сам. Применение стандартных функций Cdate и Format в данном случае, естественно мне не помогло. Помогите, пожалуйста, с VBA-процедурой для соответсвующего преобразования.
Заранее спасибо!
LGM вне форума Ответить с цитированием
Старый 10.07.2013, 16:16   #2
Czeslaw
Пользователь
 
Регистрация: 08.07.2013
Сообщений: 95
По умолчанию

=DATE(MID(A1;1;4);MID(A1;5;2);MID(A 1;7;2))
Czeslaw вне форума Ответить с цитированием
Старый 10.07.2013, 16:26   #3
LGM
 
Регистрация: 10.07.2013
Сообщений: 5
По умолчанию

Спасибо, но к сожаленью, при вводе данной формулы никакой результат вычисление не дает (ошибка компиляции). Кстати, результат возможен и в виде текста "2012.03.06", а далее, насколько я верно понимаю, уже возможно ве автоматически переконвертировать в дату.

Последний раз редактировалось LGM; 10.07.2013 в 16:34.
LGM вне форума Ответить с цитированием
Старый 10.07.2013, 16:40   #4
Czeslaw
Пользователь
 
Регистрация: 08.07.2013
Сообщений: 95
По умолчанию Преобразование текста в ячейке в дату

Высылаю файл.
Вложения
Тип файла: rar data.rar (6.1 Кб, 22 просмотров)
Czeslaw вне форума Ответить с цитированием
Старый 10.07.2013, 16:51   #5
LGM
 
Регистрация: 10.07.2013
Сообщений: 5
По умолчанию

Благодарю, изначально хотелось бы увидеть решение на VBA, но Ваш вариант меня так же натолкнул на мысль как самостоятельно написать программный код:
Range("A10").Value = CDate(CStr(Mid(CStr(Range("A6").Val ue), 1, 4) & "." & Mid(CStr(Range("A6").Value), 5, 2) & "." & Mid(CStr(Range("A6").Value), 7, 2)))
Проблема решена.
LGM вне форума Ответить с цитированием
Старый 10.07.2013, 16:53   #6
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Вариант:
Код:
=--ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;5;;".");8;;".")
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Средствами VBA выставить дату в ячейке наоборот demiancz Microsoft Office Excel 4 22.04.2013 13:47
Преобразование текст. формата в дату oleg_sh Microsoft Office Excel 8 07.10.2011 18:15
Преобразование Int32 в Дату Dr.Pauliss Помощь студентам 1 27.05.2011 07:28
Преобразование строки формата YYYY-MM-DD в дату, Варнинги! XerSon Общие вопросы Delphi 2 25.10.2010 09:19
преобразование дАтЫ в дату suxo Microsoft Office Excel 7 01.06.2010 10:10