Очистка значений ячейки и сохранение формул для всех следующих строк на основе изменения в ячейке - PullRequest
0 голосов
/ 20 марта 2020

Я хочу создать код VBA, который очищает все значения следующих строк, но сохраняет формулы, основываясь на изменении любой ячейки в столбце D

, например:

, если я изменил D3 Я хочу, чтобы диапазон A4: J100 очищал только значения, но сохранял формулы, и если я изменил D4, диапазон будет A5: j100

Я нашел несколько кодов, которые заполняют, требование y частично, но Я не мог объединить их вместе.

этот код для очистки значений, но с сохранением формул

Sub RemoveConstants()

    Dim rConstants As Range

    Set rConstants = Sheet1.Range("A1:B2").SpecialCells(xlCellTypeConstants)
    rConstants.ClearContents

End Sub

и этого кода для удаления ячеек на основе удаления ячейки в той же строке (и удаления формулы)

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("L:L")) Is Nothing Then
        Range("M" & Target.Row).ClearContents
    End If
End Sub

есть идеи?

1 Ответ

0 голосов
/ 20 марта 2020

Попробуйте это.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub 'do nothing if multiple cells changed

If Not Intersect(Target, Range("D:D")) Is Nothing Then
    Application.EnableEvents = False 'prevent an endless loop of this code
    Range("A" & Target.Row + 1 & ":J100").SpecialCells(xlCellTypeConstants).ClearContents
    Application.EnableEvents = True
End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...