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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование ячейки с датой из текстового формата в дату - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Преобразование ячейки с датой из текстового формата в дату
kuyann Дата: Вторник, 08.04.2014, 20:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вопрос в следующем, задаю через макрос изменение "." на "." что должно менять формат ячейки на дату, но почему то через макрос не работает. Работает только если ручками делать через "Заменить на..."
Код следующий:
[vba]
Код
Sub Макрос1()
'
' Макрос1
'

'
     Columns("A:A").Select
     Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
         ReplaceFormat:=False
End Sub
[/vba]
Кто знает в чем проблема? Знаю что многие эту проблему обсуждали на форуме, искал ответы, но нашел только с преобразованием текста в число, а мне нужно в дату.
Файл для экспериментов прикрепляю
К сообщению приложен файл: 0807168.xlsm (18.1 Kb)
 
Ответить
СообщениеВопрос в следующем, задаю через макрос изменение "." на "." что должно менять формат ячейки на дату, но почему то через макрос не работает. Работает только если ручками делать через "Заменить на..."
Код следующий:
[vba]
Код
Sub Макрос1()
'
' Макрос1
'

'
     Columns("A:A").Select
     Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
         ReplaceFormat:=False
End Sub
[/vba]
Кто знает в чем проблема? Знаю что многие эту проблему обсуждали на форуме, искал ответы, но нашел только с преобразованием текста в число, а мне нужно в дату.
Файл для экспериментов прикрепляю

Автор - kuyann
Дата добавления - 08.04.2014 в 20:05
alex1248 Дата: Вторник, 08.04.2014, 21:38 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 384
Репутация: 71 ±
Замечаний: 0% ±

Excel 2007, 2010
Я думаю, проблема может быть в том, что в VBA точка не является разделителем в формате даты.
Попробуйте так
[vba]
Код

Sub Макрос1()
'
' Макрос1
'

'
     Columns("A:A").Select
     Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
         ReplaceFormat:=False
End Sub
[/vba]


skype alex12481632
Qiwi +79276708519
 
Ответить
СообщениеЯ думаю, проблема может быть в том, что в VBA точка не является разделителем в формате даты.
Попробуйте так
[vba]
Код

Sub Макрос1()
'
' Макрос1
'

'
     Columns("A:A").Select
     Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
         SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
         ReplaceFormat:=False
End Sub
[/vba]

Автор - alex1248
Дата добавления - 08.04.2014 в 21:38
_Boroda_ Дата: Среда, 09.04.2014, 01:00 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще есть способ разделить текст по одному столбцу
[vba]
Код
Sub tt()
     Columns("A:A").TextToColumns Destination:=Range("A1"), FieldInfo:=Array(0, 4)
End Sub
[/vba]
Кстати, kuyann, а зачем Вам выделение столбца Columns("A:A").Select?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще есть способ разделить текст по одному столбцу
[vba]
Код
Sub tt()
     Columns("A:A").TextToColumns Destination:=Range("A1"), FieldInfo:=Array(0, 4)
End Sub
[/vba]
Кстати, kuyann, а зачем Вам выделение столбца Columns("A:A").Select?

Автор - _Boroda_
Дата добавления - 09.04.2014 в 01:00
kuyann Дата: Среда, 09.04.2014, 10:55 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ребята, всем спасибо! Нашел более простой способ решения проблемы с помощью VBA, задал копирование столбца с текстовыми данными в другой лист, прописал замену точки, замену сделал на пустой символ (т.е. просто убрал точку) и прописал в соседней колонке формулу
Код
--ТЕКСТ(AQ2;"00\/00\/0000")

И получил желаемый результат!


Сообщение отредактировал kuyann - Среда, 09.04.2014, 10:55
 
Ответить
СообщениеРебята, всем спасибо! Нашел более простой способ решения проблемы с помощью VBA, задал копирование столбца с текстовыми данными в другой лист, прописал замену точки, замену сделал на пустой символ (т.е. просто убрал точку) и прописал в соседней колонке формулу
Код
--ТЕКСТ(AQ2;"00\/00\/0000")

И получил желаемый результат!

Автор - kuyann
Дата добавления - 09.04.2014 в 10:55
_Boroda_ Дата: Среда, 09.04.2014, 11:33 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Похоже, я чего-то не понимаю в этой жизни.
Вы действительно думаете, что все телодвижения из Вашего поста выше
более простой способ решения проблемы
?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПохоже, я чего-то не понимаю в этой жизни.
Вы действительно думаете, что все телодвижения из Вашего поста выше
более простой способ решения проблемы
?

Автор - _Boroda_
Дата добавления - 09.04.2014 в 11:33
kuyann Дата: Среда, 09.04.2014, 14:09 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, просто для меня и моего уровня знаний это действительно наиболее простой и понятный способ решения проблемы
 
Ответить
Сообщение_Boroda_, просто для меня и моего уровня знаний это действительно наиболее простой и понятный способ решения проблемы

Автор - kuyann
Дата добавления - 09.04.2014 в 14:09
  • Страница 1 из 1
  • 1
Поиск:

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