Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как кодом VBA преобразовать текст 20140325 в дату 25.03.2014 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как кодом VBA преобразовать текст 20140325 в дату 25.03.2014 (Макросы/Sub)
Как кодом VBA преобразовать текст 20140325 в дату 25.03.2014
kley Дата: Вторник, 25.03.2014, 18:24 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Форумчане добрый день.
Имею лист excel. Первый столбец содержит ячейки текстового формата:
20140101
20140102
20140325
и т.д.
как преобразовать данный столбец в даты
01.01.2014
02.01.2014
25.03.2014
и т.д.
Стандартной функции нет.
 
Ответить
СообщениеФорумчане добрый день.
Имею лист excel. Первый столбец содержит ячейки текстового формата:
20140101
20140102
20140325
и т.д.
как преобразовать данный столбец в даты
01.01.2014
02.01.2014
25.03.2014
и т.д.
Стандартной функции нет.

Автор - kley
Дата добавления - 25.03.2014 в 18:24
KuklP Дата: Вторник, 25.03.2014, 18:34 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Что значит нет стандартной функции? Пишите. left, right, mid.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЧто значит нет стандартной функции? Пишите. left, right, mid.

Автор - KuklP
Дата добавления - 25.03.2014 в 18:34
Hugo Дата: Вторник, 25.03.2014, 18:40 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Как это нет стандартной? :)
[vba]
Код
Function standartnaja(s As String) As Date
     standartnaja = CDate(Left(s, 4) & "." & Mid(s, 5, 2) & "." & Right(s, 2))
End Function
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеКак это нет стандартной? :)
[vba]
Код
Function standartnaja(s As String) As Date
     standartnaja = CDate(Left(s, 4) & "." & Mid(s, 5, 2) & "." & Right(s, 2))
End Function
[/vba]

Автор - Hugo
Дата добавления - 25.03.2014 в 18:40
kley Дата: Вторник, 25.03.2014, 19:06 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Хорошо когда "тебя" всеже понимают :)
Спасибо господа хорошие.
ООО очень помогли!!!!
 
Ответить
СообщениеХорошо когда "тебя" всеже понимают :)
Спасибо господа хорошие.
ООО очень помогли!!!!

Автор - kley
Дата добавления - 25.03.2014 в 19:06
doober Дата: Вторник, 25.03.2014, 19:20 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
можно и так
[vba]
Код
Function standartnaja(s As String) As Date
standartnaja = CDate(Format(s, "0000\/00\/00"))
End Function
[/vba]


 
Ответить
Сообщениеможно и так
[vba]
Код
Function standartnaja(s As String) As Date
standartnaja = CDate(Format(s, "0000\/00\/00"))
End Function
[/vba]

Автор - doober
Дата добавления - 25.03.2014 в 19:20
kley Дата: Вторник, 25.03.2014, 20:30 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Хорошо когда "тебя" всеже понимают :)
Спасибо господа хорошие.
ООО очень помогли!!!!
 
Ответить
СообщениеХорошо когда "тебя" всеже понимают :)
Спасибо господа хорошие.
ООО очень помогли!!!!

Автор - kley
Дата добавления - 25.03.2014 в 20:30
kley Дата: Вторник, 25.03.2014, 22:04 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
hands
 
Ответить
Сообщениеhands

Автор - kley
Дата добавления - 25.03.2014 в 22:04
kley Дата: Вторник, 25.03.2014, 22:12 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Недавно перевелся на другую должность. До этого с макросами не сталкивался. Теперь по мере необходимости приходиться помогать партнёрам. Много форм отчётности уже разработано до меня, однако партнёры хотят и так и этак и вот даже иначе чем так как казалось бы одно и тоже. %) СПАСИБО. Ранее на этом форуме находил то что похоже и использовал, но вот конвертации не нашёл пришлось зарегаться и задать вопрос. :)
 
Ответить
СообщениеНедавно перевелся на другую должность. До этого с макросами не сталкивался. Теперь по мере необходимости приходиться помогать партнёрам. Много форм отчётности уже разработано до меня, однако партнёры хотят и так и этак и вот даже иначе чем так как казалось бы одно и тоже. %) СПАСИБО. Ранее на этом форуме находил то что похоже и использовал, но вот конвертации не нашёл пришлось зарегаться и задать вопрос. :)

Автор - kley
Дата добавления - 25.03.2014 в 22:12
AlexM Дата: Среда, 26.03.2014, 15:28 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
формулами тоже можно
Код
=--ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;5;;"/");8;;"/")

Формат ячейки дата



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщениеформулами тоже можно
Код
=--ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;5;;"/");8;;"/")

Формат ячейки дата

Автор - AlexM
Дата добавления - 26.03.2014 в 15:28
kley Дата: Среда, 26.03.2014, 15:46 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Формулой текст в дату не получилось конвертнуть!!! он выдает ###############################################
 
Ответить
СообщениеФормулой текст в дату не получилось конвертнуть!!! он выдает ###############################################

Автор - kley
Дата добавления - 26.03.2014 в 15:46
_Boroda_ Дата: Среда, 26.03.2014, 15:51 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Или
Код
=--ТЕКСТ(A1;"0000\/00\/00")

Что, собственно, у doober макросом и записано
К сообщению приложен файл: 452745.xlsx (8.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИли
Код
=--ТЕКСТ(A1;"0000\/00\/00")

Что, собственно, у doober макросом и записано

Автор - _Boroda_
Дата добавления - 26.03.2014 в 15:51
AlexM Дата: Среда, 26.03.2014, 16:04 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
не получилось конвертнуть
Перед формулой нужно два минуса, а не один. С одним получается отрицательная дата, которая отображается ##############



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
не получилось конвертнуть
Перед формулой нужно два минуса, а не один. С одним получается отрицательная дата, которая отображается ##############

Автор - AlexM
Дата добавления - 26.03.2014 в 16:04
kley Дата: Среда, 26.03.2014, 16:35 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
:) Арбайтает....
Клева, спасибо!!! так даже проще.
 
Ответить
Сообщение:) Арбайтает....
Клева, спасибо!!! так даже проще.

Автор - kley
Дата добавления - 26.03.2014 в 16:35
darkwood Дата: Вторник, 07.04.2015, 23:57 | Сообщение № 14
Группа: Гости
Добрый день!
Мудрые экселеведы, помогите решить проблему по этой теме.
Суть-нужно преобразовать колонку текста формата ггггммдд в даты формата дд.мм.гггг
вариантов дат немного всего 1-5, но кол-во строк от 30000 до 90000
в ручную это делается элементарно заменой
максос смог придумать только на перебор, заменяющий значение при условии не соответствия тексту (через mid итд).
Но при этом макрос солидно задумывается минут на 5, в итоге проще делать заменой.
Итак вопрос, можно ли как-то применить однотипное изменение значений ко всему диапазону не используя перебор? чую что нельзя, но вдруг?
Приходит в голову только поиск уникальных значений и замена по этим значениям, но для меня это сложновато.
[moder]Читайте Праила форума.
Создавайте свою тему.
Эта тема закрыта.


Сообщение отредактировал _Boroda_ - Среда, 08.04.2015, 00:05
 
Ответить
СообщениеДобрый день!
Мудрые экселеведы, помогите решить проблему по этой теме.
Суть-нужно преобразовать колонку текста формата ггггммдд в даты формата дд.мм.гггг
вариантов дат немного всего 1-5, но кол-во строк от 30000 до 90000
в ручную это делается элементарно заменой
максос смог придумать только на перебор, заменяющий значение при условии не соответствия тексту (через mid итд).
Но при этом макрос солидно задумывается минут на 5, в итоге проще делать заменой.
Итак вопрос, можно ли как-то применить однотипное изменение значений ко всему диапазону не используя перебор? чую что нельзя, но вдруг?
Приходит в голову только поиск уникальных значений и замена по этим значениям, но для меня это сложновато.
[moder]Читайте Праила форума.
Создавайте свою тему.
Эта тема закрыта.

Автор - darkwood
Дата добавления - 07.04.2015 в 23:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как кодом VBA преобразовать текст 20140325 в дату 25.03.2014 (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!