Страницы: 1
RSS
Вставить в ячейку текущую дату и время, если ячейка пустая, а другая заполнена
 
Здравствуйте. нужен код VBA

Желательно в идеале это сделать после события "Вставка"? либо же исправить код.
Есть столбец J - в котором есть NOW(единожды)
Но после копипаста нескольких строк столбец J не заполняется автоматически напротив столбца Е
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Not Intersect(Target, Range("E2:E1000")) Is Nothing Then
    
    On Error Resume Next
        If Target.Value = "" Then
            Range("J" & Target.Row) = ""
            Range("J1") = "DateBuy"
        Else
            Range("J" & Target.Row).Value = Format(Now, "dd/mm/yyyy HH:mm")
            Range("J" & Target.Row).EntireColumn.AutoFit
        End If
    End If
End Sub
Если невозможно поправить выше указанный код, то что требуется

После события вставка - сделать проверку столбца J, если значения нет, то проверить в проверяемой строке ячейку в столбце Е. Если значение в ячейке Е есть и нет значения в J, то так же вставить Now в формате dd/mm/yyyy HH:mm
Изменено: Drakandr - 21.05.2020 22:39:11 (Добавил исходник)
 
Цитата
Drakandr написал:
Есть столбец J -
Где он?
 
Извините, добавил в первый пост
 
название темы
вставить в колонку J текущую дату и время, если в J пусто а в Е есть значение

ответ:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E2:E1000")) Is Nothing Then InsNowToJ
End Sub

Sub InsNowToJ()
  Dim rg As Range
  Set rg = Intersect(Columns(5).SpecialCells(2).EntireRow, Columns(10).SpecialCells(4))
  If Not rg Is Nothing Then
    rg = Now: rg.NumberFormat = "dd/MM/yyyy HH:mm"
  End If
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо!
К сожалению макрос выдает ошибку в строчке Set rg...
 
пожалуйста,
а файл можно посмотреть в котором это произошло?
в нем что, в колонке Е:Е нет ни одной заполненной ячейки или в J:J нет ни одной пустой?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Да, проверял код на пустом листе. Но также появляется данная ошибка и в случае если в J столбце есть уже дата, а в Е решаю изменить значение
Изменено: Drakandr - 22.05.2020 21:43:35
 
Drakandr,
файл покажите и закроем этот вопрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
на листе TestList - проверяю код. реализовать надо на листе TransferCard

В идеале бы и при удалении выделенного диапазона тоже удалять несколько строк...
Крутил вертел и ни к чему не пришел...
Изменено: Drakandr - 22.05.2020 21:43:17
 
на листе ТестЛист заполняйте, удаляйте данные в колонке Е
что не сработало? (если что вы и куда внесли?)
Изменено: Ігор Гончаренко - 22.05.2020 21:05:04
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Если я удаляю в столбце Е значения, хочется чтобы и в J тоже удалялось.
 
когда кто-то напишет макрос, который будет решать ВСЕ возможные задачи - вслед за этим программисты вымрут, как в свое время вымерли мамонты
а пока такого макроса нет, каждый макрос решает свою КОНКРЕТНУЮ задачу
читайте название вашей темы...
вот именно эту задачу и решает предложенный мною макрос и не решает ни одной из задач, которые еще крутятся у вас в голове (на этом форуме простое правило: одна тема - один вопрос, комплексные вопросы ставят в ветке Работа, там количество вопросов и ответов на них практически ограничивается только бюджетом проекта)  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх