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

Вход

Регистрация

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

 

= Мир MS Excel/Два форматы даты в одном столбце - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Два форматы даты в одном столбце (Макросы/Sub)
Два форматы даты в одном столбце
ovechkin1973 Дата: Суббота, 05.01.2019, 19:21 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всех приветствую! Есть проблема. На листе есть пару столбцов с датами (начало и окончание). Формат для даты я выбрал типа 01.01.2019 в обоих столбцах. По двойному клику срабатывает макрос - выпадает календарь и даты можно выбрать. Ну или вручную дату можно занести. Но иногда есть необходимость писать только год.. без числа и месяца. Пока кроме как '2019 в голову не приходит. Если без апострофа написать 2019, то дата получается 11.07.1905. Есть какой то способ решить данный вопрос, или с апострофом писать? В этом случае не корректно фильтрация работает по датам.


Плохо когда не знаешь, да еще забудешь.
 
Ответить
СообщениеВсех приветствую! Есть проблема. На листе есть пару столбцов с датами (начало и окончание). Формат для даты я выбрал типа 01.01.2019 в обоих столбцах. По двойному клику срабатывает макрос - выпадает календарь и даты можно выбрать. Ну или вручную дату можно занести. Но иногда есть необходимость писать только год.. без числа и месяца. Пока кроме как '2019 в голову не приходит. Если без апострофа написать 2019, то дата получается 11.07.1905. Есть какой то способ решить данный вопрос, или с апострофом писать? В этом случае не корректно фильтрация работает по датам.

Автор - ovechkin1973
Дата добавления - 05.01.2019 в 19:21
Pelena Дата: Суббота, 05.01.2019, 19:47 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 13485
Репутация: 2971 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Пользовательский формат ГГГГ не устроит?
Файл с примером помог бы в понимании проблемы


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Пользовательский формат ГГГГ не устроит?
Файл с примером помог бы в понимании проблемы

Автор - Pelena
Дата добавления - 05.01.2019 в 19:47
Nic70y Дата: Суббота, 05.01.2019, 20:51 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5054
Репутация: 1086 ±
Замечаний: 0% ±

Excel 2013
еще вариант.
формула УФ
Код
=A1<36526
формат общий


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
Сообщениееще вариант.
формула УФ
Код
=A1<36526
формат общий

Автор - Nic70y
Дата добавления - 05.01.2019 в 20:51
ovechkin1973 Дата: Воскресенье, 06.01.2019, 18:01 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Файл с примером помог бы в понимании проблемы

Прикладываю
К сообщению приложен файл: ___.xlsx(9.9 Kb)


Плохо когда не знаешь, да еще забудешь.
 
Ответить
Сообщение
Файл с примером помог бы в понимании проблемы

Прикладываю

Автор - ovechkin1973
Дата добавления - 06.01.2019 в 18:01
ovechkin1973 Дата: Воскресенье, 06.01.2019, 19:15 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
еще вариант.
формула УФ

Попробовал, но почему то в некоторых строках не правильно год показывает
К сообщению приложен файл: ___2.xlsx(10.4 Kb)


Плохо когда не знаешь, да еще забудешь.
 
Ответить
Сообщение
еще вариант.
формула УФ

Попробовал, но почему то в некоторых строках не правильно год показывает

Автор - ovechkin1973
Дата добавления - 06.01.2019 в 19:15
Pelena Дата: Воскресенье, 06.01.2019, 20:03 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 13485
Репутация: 2971 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Вариант с форматом
К сообщению приложен файл: 3328157.xlsx(10.7 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВариант с форматом

Автор - Pelena
Дата добавления - 06.01.2019 в 20:03
Nic70y Дата: Воскресенье, 06.01.2019, 20:11 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5054
Репутация: 1086 ±
Замечаний: 0% ±

Excel 2013
УФ
Код
=A1>9999
К сообщению приложен файл: _2.xlsx(10.4 Kb)


ЯД(poison) 41001841029809
+7 978 049 98 74 (мтс)
 
Ответить
СообщениеУФ
Код
=A1>9999

Автор - Nic70y
Дата добавления - 06.01.2019 в 20:11
ovechkin1973 Дата: Воскресенье, 06.01.2019, 20:30 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, я правильно понял, что вы там, где просто год написан на "все форматы" изменили формат?


Плохо когда не знаешь, да еще забудешь.
 
Ответить
СообщениеPelena, я правильно понял, что вы там, где просто год написан на "все форматы" изменили формат?

Автор - ovechkin1973
Дата добавления - 06.01.2019 в 20:30
Pelena Дата: Воскресенье, 06.01.2019, 20:32 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 13485
Репутация: 2971 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Я изменила формат на ГГГГ, но не уверена, что правильно поняла. То есть Вы с помощью календаря вводите дату, а хотите видеть год? Или Вы вводите руками именно год? Во втором случае мой вариант не подойдёт. А календаря в файле нет


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЯ изменила формат на ГГГГ, но не уверена, что правильно поняла. То есть Вы с помощью календаря вводите дату, а хотите видеть год? Или Вы вводите руками именно год? Во втором случае мой вариант не подойдёт. А календаря в файле нет

Автор - Pelena
Дата добавления - 06.01.2019 в 20:32
ovechkin1973 Дата: Воскресенье, 06.01.2019, 20:33 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 317
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Nic70y,
=A1>9999

Работает!


Плохо когда не знаешь, да еще забудешь.
 
Ответить
СообщениеNic70y,
=A1>9999

Работает!

Автор - ovechkin1973
Дата добавления - 06.01.2019 в 20:33
Gustav Дата: Понедельник, 07.01.2019, 03:15 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1644
Репутация: 668 ±
Замечаний: 0% ±

начинал с Excel 4.0...
Вставлю свои "5 копеек". Мой вариант такой:
* в целом форматировать колонки A и B как даты
* при необходимости ввести один год - очищать датовый формат в отдельной ячейке до общего при помощи комбинации Ctrl+Shift+~ (до ввода или после него).

Это на тот случай, если "только год" в ячейке интересует именно как число. Если же без разницы, то вариант с апострофом по количеству нажимаемых клавиш, конечно, короче упомянутой комбинации.

Вариант с УФ поначалу понравился, но потом несколько озадачил тем, что в ячейках получаются целые числа, а не даты, и, соответственно, автофильтр при этом предлагает числовые фильтры вместо фильтров по датам (по крайней мере, у меня в 2013 это так - может, в 2016 лучше?)...

P.S. Ну и поскольку тема всё ж таки в разделе VBA, то вот коротенькая процедура события изменения в модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A:B"), Target) Is Nothing Then Exit Sub
    If Target.Value < 9999 Then Target.NumberFormat = "General"
End Sub
[/vba]
Автоматизация же использования апострофа, делающая "только год" текстовым значением, несколько более многословна:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A:B"), Target) Is Nothing Then Exit Sub
    If Target.Value < 9999 Then
        Application.EnableEvents = False
        Target.Value = "'" & CLng(Target.Value)
        Application.EnableEvents = True
    End If
End Sub
[/vba]


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Понедельник, 07.01.2019, 04:04
 
Ответить
СообщениеВставлю свои "5 копеек". Мой вариант такой:
* в целом форматировать колонки A и B как даты
* при необходимости ввести один год - очищать датовый формат в отдельной ячейке до общего при помощи комбинации Ctrl+Shift+~ (до ввода или после него).

Это на тот случай, если "только год" в ячейке интересует именно как число. Если же без разницы, то вариант с апострофом по количеству нажимаемых клавиш, конечно, короче упомянутой комбинации.

Вариант с УФ поначалу понравился, но потом несколько озадачил тем, что в ячейках получаются целые числа, а не даты, и, соответственно, автофильтр при этом предлагает числовые фильтры вместо фильтров по датам (по крайней мере, у меня в 2013 это так - может, в 2016 лучше?)...

P.S. Ну и поскольку тема всё ж таки в разделе VBA, то вот коротенькая процедура события изменения в модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A:B"), Target) Is Nothing Then Exit Sub
    If Target.Value < 9999 Then Target.NumberFormat = "General"
End Sub
[/vba]
Автоматизация же использования апострофа, делающая "только год" текстовым значением, несколько более многословна:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("A:B"), Target) Is Nothing Then Exit Sub
    If Target.Value < 9999 Then
        Application.EnableEvents = False
        Target.Value = "'" & CLng(Target.Value)
        Application.EnableEvents = True
    End If
End Sub
[/vba]

Автор - Gustav
Дата добавления - 07.01.2019 в 03:15
bmv98rus Дата: Понедельник, 07.01.2019, 15:15 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1468
Репутация: 243 ±
Замечаний: 0% ±

Excel 2013/2016
Соглашусь с Gustav, если б не
В этом случае не корректно фильтрация работает по датам.
то УФ в том или ином виде ( например пользовательский формат [<=9999]#;[>9999]ДД.ММ.ГГГГ ) то что нужно.
 
Ответить
СообщениеСоглашусь с Gustav, если б не
В этом случае не корректно фильтрация работает по датам.
то УФ в том или ином виде ( например пользовательский формат [<=9999]#;[>9999]ДД.ММ.ГГГГ ) то что нужно.

Автор - bmv98rus
Дата добавления - 07.01.2019 в 15:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Два форматы даты в одном столбце (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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