Замена точки на точку в диапазоне дат
Cere6ellum
Дата: Понедельник, 11.11.2019, 11:08 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здрасьте всем. Не раз сталкиваюсь с проблемой фильтрования дат. Имеем некий столбец с датами. Пусть будет "B" Даты в нём указаны (вернее данные были вставлены) в таком виде - dd.mm.yyyy При попытке отфильтровать (вручную), Excel видит все значения как числа. И соответственно не группирует по году/месяцу в фильтре. Вручную обычно решаю так. Ctrl+H и заменяю точку на точку. Фильтр + группировка начинают работать. Но средствами VBA замена не работает. И не могу понять почему. Подскажите пжл, как правильно сделать. [vba]Код
'Formatting to date via replacement .Columns("B:B").Select Selection.Replace What:=".", _ Replacement:=".", _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ SearchFormat:=False, _ ReplaceFormat:=False
[/vba]
Здрасьте всем. Не раз сталкиваюсь с проблемой фильтрования дат. Имеем некий столбец с датами. Пусть будет "B" Даты в нём указаны (вернее данные были вставлены) в таком виде - dd.mm.yyyy При попытке отфильтровать (вручную), Excel видит все значения как числа. И соответственно не группирует по году/месяцу в фильтре. Вручную обычно решаю так. Ctrl+H и заменяю точку на точку. Фильтр + группировка начинают работать. Но средствами VBA замена не работает. И не могу понять почему. Подскажите пжл, как правильно сделать. [vba]Код
'Formatting to date via replacement .Columns("B:B").Select Selection.Replace What:=".", _ Replacement:=".", _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ SearchFormat:=False, _ ReplaceFormat:=False
[/vba] Cere6ellum
Ответить
Сообщение Здрасьте всем. Не раз сталкиваюсь с проблемой фильтрования дат. Имеем некий столбец с датами. Пусть будет "B" Даты в нём указаны (вернее данные были вставлены) в таком виде - dd.mm.yyyy При попытке отфильтровать (вручную), Excel видит все значения как числа. И соответственно не группирует по году/месяцу в фильтре. Вручную обычно решаю так. Ctrl+H и заменяю точку на точку. Фильтр + группировка начинают работать. Но средствами VBA замена не работает. И не могу понять почему. Подскажите пжл, как правильно сделать. [vba]Код
'Formatting to date via replacement .Columns("B:B").Select Selection.Replace What:=".", _ Replacement:=".", _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ SearchFormat:=False, _ ReplaceFormat:=False
[/vba] Автор - Cere6ellum Дата добавления - 11.11.2019 в 11:08
Cere6ellum
Дата: Понедельник, 11.11.2019, 12:37 |
Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Пока работает только решение в цикле. [vba]Код
.Cells(i, 2).Value = CDate(.Cells(i, 2).Value)
[/vba] Как реализовать без цикла не знаю.
Пока работает только решение в цикле. [vba]Код
.Cells(i, 2).Value = CDate(.Cells(i, 2).Value)
[/vba] Как реализовать без цикла не знаю. Cere6ellum
Ответить
Сообщение Пока работает только решение в цикле. [vba]Код
.Cells(i, 2).Value = CDate(.Cells(i, 2).Value)
[/vba] Как реализовать без цикла не знаю. Автор - Cere6ellum Дата добавления - 11.11.2019 в 12:37
Pelena
Дата: Понедельник, 11.11.2019, 14:53 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Cere6ellum , приложите кусочек Ваших данных, возможно, есть и другие способы перевести дату в нормальный формат
Cere6ellum , приложите кусочек Ваших данных, возможно, есть и другие способы перевести дату в нормальный форматPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Cere6ellum , приложите кусочек Ваших данных, возможно, есть и другие способы перевести дату в нормальный форматАвтор - Pelena Дата добавления - 11.11.2019 в 14:53
Cere6ellum
Дата: Вторник, 12.11.2019, 07:06 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
приложите кусочек Ваших данных
Приложил. Спасибо заранее.
приложите кусочек Ваших данных
Приложил. Спасибо заранее.Cere6ellum
К сообщению приложен файл:
Test.xlsm
(20.6 Kb)
Ответить
Сообщение приложите кусочек Ваших данных
Приложил. Спасибо заранее.Автор - Cere6ellum Дата добавления - 12.11.2019 в 07:06
Pelena
Дата: Вторник, 12.11.2019, 07:25 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Попробуйте через текст по столбцам
Попробуйте через текст по столбцам Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Попробуйте через текст по столбцам Автор - Pelena Дата добавления - 12.11.2019 в 07:25
Cere6ellum
Дата: Вторник, 12.11.2019, 12:45 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Попробуйте через текст по столбцам
Увы не работает. Читал я про текст по столбцам. Не особо понял как реализовать средствами vba. Так же пробовал через запись действий макросом. Код не работает, а вручную, - да, получается отформатировать. Но, даже, если заработает средствами vba, считаю неизвестно как себя может повести в случае, если помимо дат есть и другие колонки с данными. Так что, кроме перебора пока не нашёл решений. Но перебор - это уж слишком "в лоб". Странно, что для такой часто-встречающейся проблемы не существует решения.
Попробуйте через текст по столбцам
Увы не работает. Читал я про текст по столбцам. Не особо понял как реализовать средствами vba. Так же пробовал через запись действий макросом. Код не работает, а вручную, - да, получается отформатировать. Но, даже, если заработает средствами vba, считаю неизвестно как себя может повести в случае, если помимо дат есть и другие колонки с данными. Так что, кроме перебора пока не нашёл решений. Но перебор - это уж слишком "в лоб". Странно, что для такой часто-встречающейся проблемы не существует решения.Cere6ellum
Ответить
Сообщение Попробуйте через текст по столбцам
Увы не работает. Читал я про текст по столбцам. Не особо понял как реализовать средствами vba. Так же пробовал через запись действий макросом. Код не работает, а вручную, - да, получается отформатировать. Но, даже, если заработает средствами vba, считаю неизвестно как себя может повести в случае, если помимо дат есть и другие колонки с данными. Так что, кроме перебора пока не нашёл решений. Но перебор - это уж слишком "в лоб". Странно, что для такой часто-встречающейся проблемы не существует решения.Автор - Cere6ellum Дата добавления - 12.11.2019 в 12:45
Kuzmich
Дата: Вторник, 12.11.2019, 14:42 |
Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 714
Репутация:
157
±
Замечаний:
0% ±
Excel 2003
А так попробуйте [vba]Код
Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "dd/mm/yyyy"
[/vba]
А так попробуйте [vba]Код
Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "dd/mm/yyyy"
[/vba] Kuzmich
Ответить
Сообщение А так попробуйте [vba]Код
Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "dd/mm/yyyy"
[/vba] Автор - Kuzmich Дата добавления - 12.11.2019 в 14:42
K-SerJC
Дата: Среда, 13.11.2019, 09:45 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация:
86
±
Замечаний:
0% ±
Excel 2013
Странно, что для такой часто-встречающейся проблемы не существует решения.
а так? [vba]Код
Sub tyc() With Range("A:A") .NumberFormat = "dd/mm/yyyy" .FormulaLocal = .FormulaLocal End With End Sub
[/vba]
Странно, что для такой часто-встречающейся проблемы не существует решения.
а так? [vba]Код
Sub tyc() With Range("A:A") .NumberFormat = "dd/mm/yyyy" .FormulaLocal = .FormulaLocal End With End Sub
[/vba]K-SerJC
Благими намерениями выстелена дорога в АД.
Сообщение отредактировал K-SerJC - Среда, 13.11.2019, 10:12
Ответить
Сообщение Странно, что для такой часто-встречающейся проблемы не существует решения.
а так? [vba]Код
Sub tyc() With Range("A:A") .NumberFormat = "dd/mm/yyyy" .FormulaLocal = .FormulaLocal End With End Sub
[/vba]Автор - K-SerJC Дата добавления - 13.11.2019 в 09:45