Страницы: 1
RSS
Автозаполнение даты и очистка ячейки, Корректировка кода
 
Доброго времени суток!
Подскажите пожалуйста, как скорректировать код, чтобы при удалении из какой-либо ячейки, к примеру из B2 или C9 или D13 очищалась ячейка напротив только в столбце A, в  той cтроке, в которой очищаю ячейку, но если другие ячейки заняты в этой строке, очистка ячейки в колонке А не требуется.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("B2:D66")) Is Nothing Then   'если измененная ячейка попадает в диапазон B2:B66
        If cell = Empty Then                  'если в B2:B66 пусто, то
            Target.Offset(, -1).Value = Empty        'очищаем ячейку колонки А
        Else 'в ином случае (если диапазон B2:B66 не пустой), то
            With Range("A" & cell.Row) 'вводим в ячейку, в столбец A дату
               .Value = Date
          End With
       End If
    End If
  Next cell
End Sub

В данный момент очищается вся строка, если удалять к примеру ячейку D13.
Изменено: Vadim181 - 08.10.2021 12:15:38
 
Vadim181,
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("B2:D66")) Is Nothing Then   'если измененная ячейка попадает в диапазон B2:B66
        If cell = Empty Then                  'если в B2:B66 пусто, то
            Cells(Target.Row, 1) = Empty       'очищаем ячейку колонки А
        Else 'в ином случае (если диапазон B2:B66 не пустой), то
            With Range("A" & cell.Row) 'вводим в ячейку, в столбец A дату
               .Value = Date
          End With
       End If
    End If
  Next cell
End Sub

Не бойтесь совершенства. Вам его не достичь.
 
Mershik, отлично, спасибо!
Страницы: 1
Наверх