Как автоматически подвести итог на основе выбора пользователя из выпадающего - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь рассчитать общую стоимость, например, столбец A имеет раскрывающийся список со значением по умолчанию 4, B имеет раскрывающийся список со значением по умолчанию 2, а C имеет общее значение 100 от D2 до D5. Я хотел бы написать код VBA, так что если пользователь откроет этот лист Excel, в столбце E2 будет установлено значение по умолчанию, равное 2500. Если пользователь изменит значение в A с раскрывающегося списка на 6, это добавит 1000 к E2 и сразу покажет сумму в Е2. Если пользователь изменит значение в B с выпадающего на 4, это добавит 500 к текущему значению в E2. Если значение toal в столбце> 1000, то в E2 будет добавлено значение до 5000.

Я знаю, что должен делать logi c, но плохо знаком с VBA и не знаю синтаксиса. Как я могу мгновенно обновить значение в E2, как только пользователь изменит значение в столбце желаний.

    Dim data As Variant
    Dim x As Integer
    Dim y As Integer
    Dim z As Long

    Application.ScreenUpdating = True
    x = Range("A1").Value
    y = Range("B1").Value
    z = Range("E2").Value

    z.Value = 2500

    If x = 4 & y = 2 Then
        z.Value = 2500
    If x > 4 Then
        z = z .Value + 500
    If y > 2 Then
        z = z .Value + 1000
    If cTotal > 1000
       z = z .Value + 5000

1 Ответ

0 голосов
/ 03 февраля 2020

Извинения, я пока не могу комментировать, чтобы попросить разъяснения. Попробуйте:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Or Target.Address = "$B$1"
    Then Call YourMacro
    End If
End Sub

Это должно вызвать YourMacro при изменении значений в A1 или B1.

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