Замена точки на точку в диапазоне дат 
				   
 
 
 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     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  19569 
 
 
 
 
  Репутация:    
 4646    
 ±  
 
  
 Замечаний:
    ±  
   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     
   
 
  
   
 
 
 Группа: Админы  
 
 
 Ранг: Местный житель  
 
 Сообщений:  19569 
 
 
 
 
  Репутация:    
 4646    
 ±  
 
  
 Замечаний:
    ±  
   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     
   
 
   
 
 
 Группа: Проверенные  
 
 
 Ранг: Ветеран  
 
 Сообщений:  715 
 
 
 
 
  Репутация:    
 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