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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматический ввод даты и времени - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматический ввод даты и времени (Формулы/Formulas)
Автоматический ввод даты и времени
LexaLM Дата: Среда, 20.02.2019, 06:14 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Задача, при редактировании ячейки А, в ячейке В должна вставиться текущая дата, а в ячейку С должно вставиться текущее время.
Ячейки В и С должны заполняться/меняться только при редактировании ячейки А.
ТДАТА() меняет значения постоянно, что мне не подходит.
 
Ответить
СообщениеЗадача, при редактировании ячейки А, в ячейке В должна вставиться текущая дата, а в ячейку С должно вставиться текущее время.
Ячейки В и С должны заполняться/меняться только при редактировании ячейки А.
ТДАТА() меняет значения постоянно, что мне не подходит.

Автор - LexaLM
Дата добавления - 20.02.2019 в 06:14
ASWP Дата: Среда, 20.02.2019, 08:10 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 182
Репутация: 23 ±
Замечаний: 0% ±

Excel 2007
LexaLM, Например
К сообщению приложен файл: lexafiles.xlsb(15.9 Kb)


я знаю что ничего не знаю, но другие не знают и этого
 
Ответить
СообщениеLexaLM, Например

Автор - ASWP
Дата добавления - 20.02.2019 в 08:10
_Boroda_ Дата: Среда, 20.02.2019, 12:36 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15020
Репутация: 5929 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
У меня такой вариант (можно изменять сразу несколько ячеек)
Форматы даты и временя в столбцах В и С пользователь ставит самостоятельно какой ему захочется (заранее и сразу на весь столбец)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d0_ As Range, d_ As Range
    r0_ = 2 'начальная строка
    c_ = 1 'столбец проверки
    r1_ = Cells(1).SpecialCells(xlLastCell).Row
    If r1_ < r0_ Then Exit Sub
    Set d0_ = Intersect(Target, Cells(r0_, c_).Resize(r1_ - r0_ + 1))
    If Not d0_ Is Nothing Then
        Application.ScreenUpdating = 0
        cal_ = Application.Calculation
        Application.Calculation = 3
        Application.EnableEvents = 0
        For Each d_ In d0_
' ===>  этот блок если при пустых значениях в А НЕ нужно стирать дату и время
'            d_.Offset(, 1) = Date
'            d_.Offset(, 2) = Time
' ===>  этот блок если при пустых значениях в А нужно стереть дату и время
            If d_ <> "" Then
                d_.Offset(, 1) = Date
                d_.Offset(, 2) = Time
            Else
                d_.Offset(, 1).Resize(1, 2).ClearContents
            End If
        Next d_
        Application.EnableEvents = 1
        Application.Calculation = cal_
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]
К сообщению приложен файл: 7818978675.xlsm(17.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеУ меня такой вариант (можно изменять сразу несколько ячеек)
Форматы даты и временя в столбцах В и С пользователь ставит самостоятельно какой ему захочется (заранее и сразу на весь столбец)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d0_ As Range, d_ As Range
    r0_ = 2 'начальная строка
    c_ = 1 'столбец проверки
    r1_ = Cells(1).SpecialCells(xlLastCell).Row
    If r1_ < r0_ Then Exit Sub
    Set d0_ = Intersect(Target, Cells(r0_, c_).Resize(r1_ - r0_ + 1))
    If Not d0_ Is Nothing Then
        Application.ScreenUpdating = 0
        cal_ = Application.Calculation
        Application.Calculation = 3
        Application.EnableEvents = 0
        For Each d_ In d0_
' ===>  этот блок если при пустых значениях в А НЕ нужно стирать дату и время
'            d_.Offset(, 1) = Date
'            d_.Offset(, 2) = Time
' ===>  этот блок если при пустых значениях в А нужно стереть дату и время
            If d_ <> "" Then
                d_.Offset(, 1) = Date
                d_.Offset(, 2) = Time
            Else
                d_.Offset(, 1).Resize(1, 2).ClearContents
            End If
        Next d_
        Application.EnableEvents = 1
        Application.Calculation = cal_
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 20.02.2019 в 12:36
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматический ввод даты и времени (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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