#excel #vba
#excel #vba
Вопрос:
Нужна помощь с небольшим кодом.
Я создал следующий код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ThisRow = Target.Row
If Target.Column = 5 Then
Range("C" amp; ThisRow).Value = Format(DateTime.Now, "hh:mm")
Range("D" amp; ThisRow).Value = Format(DateTime.Now, "mm/dd/yyyy")
Range("C:D").EntireColumn.AutoFit
End If
End Sub
В принципе, если я ввел информацию в любую ячейку в столбце E, код отобразит «Время» в той же строке в столбце C и «Дату» в той же строке в столбце D.
Это работает нормально. Однако я хотел бы, чтобы этот код удалял информацию о столбцах C и D, если запись в столбцах E удаляется, а ячейка пуста.
Заранее спасибо за любую помощь.
Ответ №1:
Попробуйте следующий код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim ThisRow As Long
ThisRow = Target.Row
If Target.Column = 5 Then
' if current Cell in Column E is empty, clear contents
If Range("E" amp; ThisRow).Value = "" Then
Range("C" amp; ThisRow).ClearContents
Range("D" amp; ThisRow).ClearContents
Else
Range("C" amp; ThisRow).Value = Format(DateTime.Now, "hh:mm")
Range("D" amp; ThisRow).Value = Format(DateTime.Now, "mm/dd/yyyy")
End If
Range("C:D").EntireColumn.AutoFit
End If
End Sub