Быстрый ввод даты в excel

Быстрый ввод даты в excel

Тема с организацией удобного ввода дат понятна. Например, массовый ввод всяких бухгалтерских сумм обычно производится на правой цифровой клавиатуре. Кнопка «точка» (Del) там угодливо принимает в Excel вид десятичного разделителя локали, во всяком случае, у меня в Excel она остается «запятой» и в русской, и в латинской раскладках (хотя в других приложениях переключается). Поэтому при такой «всегда запятой» массовый ввод дат на правой клавиатуре оказывается не совсем удобным для тех, кто привык разделять компоненты даты точкой. Их, конечно, можно еще разделять слэшем (/) или минусом (-), но таких знатоков гораздо меньше, чем любителей точки. К тому же, на правой клавиатуре эти кнопки расположены над цифровыми, что также может быть не очень удобным…

Короче, весь день сегодня держал открытым прилагаемый файл и, когда появлялся небольшой квант свободного времени, ковырялся с макросом. В итоге получилось

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cellText As String, cellDate As Date
Dim datArray, dd, mm, yy

If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range(«B13:C35»)) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub

dd = Day(Now): mm = Month(Now): yy = Year(Now) ‘инициализация частей — текущей датой

‘в качестве разделителя компонентов даты можно использовать
‘любой удобный разделитель с цифровой клавиатуры: * + , (/ или — нельзя)
‘особенно удобен «плюс» — он большой 🙂
‘разделители даже можно смешивать в одном вводе
cellText = Replace(Replace(Replace(Target.Value2, «+», «.»), «*», «.»), «,», «.»)
datArray = Split(cellText, «.»)

dd = datArray(0)
If UBound(datArray) > 0 Then mm = datArray(1)
If UBound(datArray) > 1 Then yy = datArray(2)

Application.EnableEvents = False
On Error Resume Next

cellDate = CDate(dd & «.» & mm & «.» & yy)
If Err Then
Target.Value = «ОШИБКА: » & Target.Value2
Err.Clear
Else
Target.Value = cellDate
End If

Application.EnableEvents = True
End Sub

В качестве разделителя дат при вводе макрос разрешает использовать плюс, звездочку и запятую, которая вводится клавишей «. Del». И самой удобной представляется, конечно, кнопка «плюс» — она же большая, как Enter, и по ней можно клацать, практически не глядя.

Слэш и минус я не задействовал. Как мы выяснили, у них свой смысл при вводе дат и они успевают преобразовать ввод до того, как наступает событие листа Change, несколько «мешая» моему макросу. По этой же причине не задействовал и «точку», вводимую с основной клавиатуры, тем более, что выискивать «точку» на основной клавиатуре — потеря времени набора. Использование любого из этих трёх разделителей ( / — . ) в зеленом диапазоне B13:C35 приводит к ошибке.

Правильные же кнопки-разделители в зеленой зоне скоростного ввода дат:
, [+], [. Del]. При вводе неполной даты (например, только числа или числа и месяца) оставшиеся компоненты (месяц и год или только год) автоматически берутся из текущей даты.

Быстрый ввод даты в excel

Иногда просто даешься диву как в такой замечательной программе как MS Excel не предусмотрен стандартный инструмент для вставки дат или времени в ячейку? Если вы часто работаете с датами вы уже, наверное, пальцы стерли. Тем не менее кое-какой инструмент в MS Excel имеется.

Для того чтобы вставить текущую дату в MS Excel предусмотрено сочетание клавиш, а именно Shift+Ctrl+4. Встаньте в ячейку в которую необходимо вставить дату и нажмите это сочетание клавиш. Чтобы ввести текущее время используйте сочетание клавиш Shift+Ctrl+6. Чтобы ввести и то, и другое нажмите вначале Shift+Ctrl+4 потом нажмите пробел и нажмите Shift+Ctrl+6 в ячейку введется и дата, и время.

Также для вставки даты в ячейку можно воспользоваться формулой «=СЕГОДНЯ()» эта формула возвращает текущую дату (установленную на компьютере).

Читать еще:  В excel заменить символ

Для вставки текущей даты и времени можно использовать формулу «=ТДАТА()«. При использовании данного способа необходимо задать ячейке соответствующий формат (показывать и дату, и время).

Важно:

  • При использовании формул помните, что когда дата переведется в компьютере то и у вас соответственно в ячейке дата поменяется.

Чтобы быстро вставлять в ячейки даты отличные от сегодняшней читайте статью «Как быстро вставить необходимую дату в ячейку?».

Вставка текущих даты и времени в ячейку

Предположим, что вы хотите просто ввести текущую дату и время в журнал событий. Или, возможно, требуется автоматически отобразить текущую дату и время в ячейке при каждом пересчете формул. Существует несколько способов вставки в ячейку текущих даты и времени.

Вставка фиксированного значения даты или времени в ячейку Excel

Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.

Выделите на листе ячейку, в которую требуется вставить текущую дату или время.

Выполните одно из действий, указанных ниже.

Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).

Чтобы вставить текущее время, нажмите клавиши CTRL+SHIFT+; (точка с запятой).

Чтобы вставить текущие дату и время, нажмите клавиши CTRL+; (точка с запятой), затем клавишу ПРОБЕЛ, а после этого — CTRL+SHIFT+; (точка с запятой).

Изменение формата даты и времени

Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите команду Формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке число в разделе Категориявыберите пункт Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.

Вставка фиксированного значения даты или времени в ячейку Excel

Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.

Выделите на листе ячейку, в которую требуется вставить текущую дату или время.

Выполните одно из действий, указанных ниже.

Чтобы вставить текущую дату, нажмите клавиши CTRL+; (точка с запятой).

Чтобы вставить текущее время, нажмите клавиши +; (точка с запятой).

Чтобы вставить текущие дату и время, нажмите клавиши CTRL +; (точка с запятой), нажмите клавишу пробел, а затем — клавишу +; (точка с запятой).

Изменение формата даты и времени

Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите команду Формат ячеек. Затем в диалоговом окне Формат ячеек на вкладке число в разделе Категориявыберите пункт Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.

Вставка фиксированного значения даты или времени в ячейку Excel

Фиксированное значение на листе не изменяется при пересчете или открытии листа. При нажатии клавиш CTRL+; для вставки текущей даты в ячейку Excel «делает снимок» текущей даты, который вставляется в ячейку. Поскольку значение ячейки не меняется, оно считается статичным.

Выделите на листе ячейку, в которую требуется вставить текущую дату или время.

Выполните одно из действий, указанных ниже.

Чтобы вставить дату, введите дату (например, 2/2) и нажмите кнопку раскрывающегося списка Формат номерадома > (на вкладке число ) >Краткая дата или длинный день.

Чтобы вставить время, введите время и нажмите кнопку раскрывающегося списка Формат номерадома > (на вкладке число ) >time (время).

Читать еще:  В форму в excel

Изменение формата даты и времени

Чтобы изменить формат даты или времени, щелкните ячейку правой кнопкой мыши и выберите пункт Числовой Формат. Затем в диалоговом окне Формат номера в разделе Категориявыберите значение Дата или время , а затем в списке тип выберите тип и нажмите кнопку ОК.

Вставка обновляемого значения даты или времени

Дата или время обновляемые при пересчете листа или открытии книги, считаются «динамическими», а не статическими. Наиболее распространенным способом получения динамической даты или времени в ячейке на листе является использование функции листа.

Для вставки обновляемой текущей даты или времени используются функции СЕГОДНЯ и ТДАТА, как показано в приведенном ниже примере. Дополнительные сведения об использовании этих функций см. в статьях Функция СЕГОДНЯ и Функция ТДАТА

Текущая дата (значения могут быть разными)

Текущие дата и время (значения могут быть разными)

Выделите текст в таблице, приведенной выше, и нажмите клавиши CTRL+C.

На пустом листе выберите один раз в ячейке a1, а затем нажмите клавиши CTRL + V. Если вы работаете в Excel Online, повторите копирование и вставку для каждой ячейки в примере.

Важно: Чтобы пример правильно работал, его нужно вставить в ячейку A1.

Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих эти результаты, нажмите клавиши Ctrl+` (знак ударения) или на вкладке Формулы в группе Зависимости формул нажмите кнопку Показывать формулы.

Скопировав пример на пустой лист, можно настроить его в соответствии со своими потребностями.

Примечание: Результаты, возвращаемые функциями СЕГОДНЯ и ТДАТА, изменяются только при пересчете листа или при выполнении макроса, содержащего эту функцию. Постоянного обновления ячеек, содержащих эти функции, не происходит. В качестве значений даты и времени используются показания системных часов компьютера.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Сводные таблицы Excel

Если вам часто приходится вводить даты и время в ячейки, то вам должна понравиться идея писать их сокращенно, без точек-дробей – просто как число. Чтобы в заданном диапазоне ячеек листа, например, число 250616 после ввода и нажатия клавиши Enter автоматически превращалось в 25.06.2016.

Как в Excel настроить быстрый ввод даты без разделителей

Для реализации такого возможны два варианта.

Первый – использовать функцию преобразования текста в дату ДАТАЗНАЧ (DATEVALUE) и функции извлечения фрагментов из текста ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT) и ПСТР (MID), чтобы разделить шесть введенных чисел по два, добавить к ним точки и составить из них полноценную дату в соседней ячейке.

Для реализации быстрого ввода даты возможны два варианта

В англоязычном варианте: =DATEVALUE(LEFT(D1;2)&”.”&MID(D1;3;2)&”.”&RIGHT(D1;2)) .

Если же хочется выполнять это преобразование прямо в той же ячейке, куда вводятся числа, то без макроса не обойтись. Для этого щелкните по ярлычку листа, куда будут вводиться даты и время, и выберите команду Исходный текст (View Code). В открывшееся окно редактора Visual Basic вставьте следующий код.

Private Sub Worksheet_Change(ByVal Target As Range) Dim vVal Dim StrVal As String Dim dDate As Date If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range(«A2:A10»)) Is Nothing Then With Target StrVal = Format(.Text, «000000») If IsNumeric(StrVal) And Len(StrVal) = 6 Then Application.EnableEvents = False dDate = DateValue(Left(StrVal, 2) & «/» & Mid(StrVal, 3, 2) & «/» & Right(StrVal, 2)) .NumberFormat = «dd/mm/yyyy» .Value = CDate(DateSerial(Year(dDate), Month(dDate), Day(dDate))) End If End With End If Application.EnableEvents = True End Sub

Читать еще:  Срзначесли в excel примеры

Диапазон A2:A10 в коде замените на свою область листа, куда подобным образом собираетесь вводить даты.

Excel. Основы. Ввод времени

В Excel время представляет собой дробную часть целого числа (а целые числа обозначают даты, то есть отдельные сутки). Например, 12:00 дня для Excel это число 0,5. Один час для Excel — это 1/24 = 0,416666, одна минута — это 1/24/60 = 0,00069444 и т.д. Максимальная точность значения времени, которая доступна в Excel — одна тысячная секунды, то есть число 0,00000001.

Зачем нужны такие сложности? Это необходимо для того, чтобы мы могли использовать значения времени в формулах и своих расчетах, что очень удобно. Кроме того, пользователю вовсе необязательно знать описанные выше тонкости (хотя для понимания общих принципов работы программы это весьма полезно). Чтобы ввести значение времени в 00:00:01 (1 секунда), нам не нужно будет искать числовой эквивалент и вводить его. Достаточно воспользоваться одним из допустимых в программе способов ввода времени.

Правильные способы ввода времени

1) Через двоеточие (с указанием секунда или без указания)

Например, 15:30 (половина четвертого), или 16:30:24 (шестнадцать часов тридцать минут и двадцать четыре секунды).

2) В двенадцатичасовом формате

Например, 4:30 PM (половина пятого вечера) или 8:15 AM (восемь пятнадцать утра).

Если Вы все ввели по правилам, то при выделении ячейки с введенным временем в строке формул увидите введенное значение в формате, который установлен в соответствии с региональными настройками даты и времени (для России обычно в формате ЧЧ:ММ:СС).

Недопустимые способы ввода времени

1) Через запятую

Например, нельзя ввести половину десятого утра как 9,30.

Ошибочным будет и ввод половины десятого как 9-30

При вводе времени допускается указывать его вместе с датой (в таком случае сначала вводится дата, а затем через пробел — значение времени), например: 16.05.2017 18:30. Если вводить время без даты, то Excel автоматически применяет к нему дату 0 января 1900 года (минимально допустимая дата на листе Excel эквивалентная числу ноль).

Если при вводе времени Вы превысите суточный размер (24 часа), то время будет введено как соответствующий час одной из следующих дат. Например, если ввести 01.01.2017 26:30, то Excel отобразит 02.01.2017 02:30 (то есть, половину третьего следующих суток).

Когда Вам нужно работать со значениями времени, превышающими 24 часа (безотносительно дат), не забывайте применять к ячейкам соответствующий числовой формат.

Максимальное значение времени, которое может принять Excel, установлено на отметке 9999:59:59 (без одной секунды десять тысяч часов). Если Вы введете время, превышающее указанное, то формат ячеек будет преобразован в текстовый, а значение будет восприниматься программой как обычный текст (что сделает невозможным его использование в каких-либо расчётах).

Видеоверсию данной статьи смотрите на нашем канале на YouTube

Чтобы не пропустить новые уроки и постоянно повышать свое мастерство владения Excel — подписывайтесь на наш канал в Telegram Excel Everyday

Куча интересного по другим офисным приложениям от Microsoft (Word, Outlook, Power Point, Visio и т.д.) — на нашем канале в Telegram Office Killer

Вопросы по Excel можно задать нашему боту обратной связи в Telegram @ExEvFeedbackBot

Вопросы по другому ПО (кроме Excel) задавайте второму боту — @KillOfBot

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector