Как изменить значение ячейки на основе изменения значения в ячейке рядом с ней - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь поместить определенное значение в ячейку, основываясь на том, было ли изменено значение ячейки рядом с ней.Например, если значение какой-либо ячейки в столбце E было отредактировано пользователем, число должно появиться в ячейке рядом с ним в столбце F. Есть ли простой способ сделать это в VBA?

1 Ответ

2 голосов
/ 27 сентября 2019

Вот очень маленький пример того, как это сделать.

Сначала зайдите в свой VBE и дважды щелкните по рабочему листу, где должно произойти это событие «Изменение».Мы хотим поместить этот код конкретно в этот лист.

Далее вы можете вставить это в:

Private Sub Worksheet_Change(ByVal Target As Range)
    'Test to see if the thing that changed was in range E:E
    'Target variable will hold the range that experienced the change
    If Not Intersect(Range("E:E"), Target) Is Nothing Then

        'Declare a variable to hold a single cell that was changed
        Dim changedCell As Range

        'Loop through all the cells that were changed in column E
        'generally just one is changed, but it could be multiple
        For Each changedCell In Intersect(Range("E:E"), Target).Cells
            'Now we will increment the number that is in column F next to the cell that changed
            changedCell.Offset(0, 1).Value = changedCell.Offset(0, 1).Value + 1
        Next changedCell
    End If
End Sub

Эта подпрограмма является специальной.Он называется Worksheet_Change(), и у него есть один параметр с именем «Цель».Это будет срабатывать автоматически каждый раз, когда что-либо меняется на этой вкладке / листе.Target будет содержать диапазон ячеек, которые претерпели изменения.

Этот код проверяет, находился ли диапазон, который был изменен, в столбце E и, если это так, он проходит через каждую измененную ячейку (вы можете изменить несколько ячеек одновременно с помощью копирования / вставки) ион просто увеличивает счетчик в столбце F рядом с каждой ячейкой.

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