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

Вход

Регистрация

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

 

= Мир MS Excel/Не ставится автом.дата при редактировании соседней ячейки. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не ставится автом.дата при редактировании соседней ячейки. (Макросы/Sub)
Не ставится автом.дата при редактировании соседней ячейки.
PORTANDREW Дата: Воскресенье, 19.01.2020, 20:51 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени форумчане. Помогите подправить макрос. Макрос для автоматической постановки даты в ячейки при редактировании определенной ячейки. Сам макрос работает, но он не реагирует, если в в той самой определенной ячейке работает формула и ставит туда значения, макрос не срабатывает и не ставит дату.Сам код и пример.
[vba]
Код

Sub ВсеВместе()
Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("D2:D13")) Is Nothing Then 'если изменененная ячейка попадает в диапазон
With cell.Offset(0, -1) 'вводим в соседнюю слева ячейку дату
.Value = Now
End With
End If
Next cell
End Sub
[/vba]
К сообщению приложен файл: 1138176.xlsm(17.3 Kb)


ZAC

Сообщение отредактировал PORTANDREW - Воскресенье, 19.01.2020, 20:55
 
Ответить
СообщениеДоброго времени форумчане. Помогите подправить макрос. Макрос для автоматической постановки даты в ячейки при редактировании определенной ячейки. Сам макрос работает, но он не реагирует, если в в той самой определенной ячейке работает формула и ставит туда значения, макрос не срабатывает и не ставит дату.Сам код и пример.
[vba]
Код

Sub ВсеВместе()
Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("D2:D13")) Is Nothing Then 'если изменененная ячейка попадает в диапазон
With cell.Offset(0, -1) 'вводим в соседнюю слева ячейку дату
.Value = Now
End With
End If
Next cell
End Sub
[/vba]

Автор - PORTANDREW
Дата добавления - 19.01.2020 в 20:51
anvg Дата: Воскресенье, 19.01.2020, 21:39 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
, но он не реагирует, если в в той самой определенной ячейке работает формула

Макрос срабатывает на изменение ячейки. Но в ячейке как была формула, так и осталась. Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.
 
Ответить
СообщениеДоброе время суток
, но он не реагирует, если в в той самой определенной ячейке работает формула

Макрос срабатывает на изменение ячейки. Но в ячейке как была формула, так и осталась. Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.

Автор - anvg
Дата добавления - 19.01.2020 в 21:39
PORTANDREW Дата: Понедельник, 20.01.2020, 13:26 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.


Андрей, а можно по подробнее расшифровать Вашу фразу? Не совсем понял, что нужно сделать.


ZAC
 
Ответить
Сообщение
Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.


Андрей, а можно по подробнее расшифровать Вашу фразу? Не совсем понял, что нужно сделать.

Автор - PORTANDREW
Дата добавления - 20.01.2020 в 13:26
Nic70y Дата: Понедельник, 20.01.2020, 14:45 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 7857
Репутация: 1891 ±
Замечаний: 0% ±

Excel 2010
при редактировании определенной ячейки
зачем тогда такие сложности?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    u = Cells(Rows.Count, 2).End(xlUp).Row + 1
    If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then
        'If Target.Offset(0, 1) = "" Then
            Target.Offset(0, 1) = Now
        'End If
    End If
End Sub
[/vba]
если снять каменты дата при повторном редактировании не измениться


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 20.01.2020, 14:45
 
Ответить
Сообщение
при редактировании определенной ячейки
зачем тогда такие сложности?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    u = Cells(Rows.Count, 2).End(xlUp).Row + 1
    If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then
        'If Target.Offset(0, 1) = "" Then
            Target.Offset(0, 1) = Now
        'End If
    End If
End Sub
[/vba]
если снять каменты дата при повторном редактировании не измениться

Автор - Nic70y
Дата добавления - 20.01.2020 в 14:45
PORTANDREW Дата: Среда, 22.01.2020, 12:32 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Nic70y, Спасибо огромное, все работает!


ZAC
 
Ответить
СообщениеNic70y, Спасибо огромное, все работает!

Автор - PORTANDREW
Дата добавления - 22.01.2020 в 12:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не ставится автом.дата при редактировании соседней ячейки. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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