Member 13742637 Ответов: 1

Как добавить значение одной ячейки в другую ячейку при выполнении критериев


Эй, так что на самом деле я хочу сделать вот что:
если я ввожу новое значение в ячейку, то автоматически добавляю это число к существующему номеру другой ячейки. Поэтому, когда я добавляю новое значение в B24, значение D24 автоматически складывается на значение, если никакого значения нет, ничего не делайте. Спасибо за быструю помощь

Что я уже пробовал:

используя Sumif, но мне нужно было выбрать диапазон, но мне нужно было только значение одной ячейки. Просто Sum(B24;D24) дает мне ошибку из-за циркуляции...

1 Ответов

Рейтинг:
2

CHill60

В Редакторе VBA (Alt-F11, чтобы добраться до него) дважды щелкните на листе, на котором вы хотите, чтобы это произошло.

Введите следующий код:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    
    'This checks for any entry in column B
    If Application.Intersect(Range("B:B"), Range(Target.Address)) Is Nothing Then
        Exit Sub
    End If
    
    'Or check that it is the specific range you are interested in
    If Target.Address <> "$B$24" Then Exit Sub

    'If there is nothing currently in D24 then nothing more to do
    If IsEmpty(Range("D24")) Then Exit Sub  'Note you cannot use IsBlank

    'If user did not enter a number then there is nothing more to do
    If Not IsNumeric(Target.Value) Then Exit Sub

    'If the current value in D24 is not numeric then nothing more to do
    '(Never trust a user to enter the data you are expecting!)
    If Not IsNumeric(Range("D24").Value) Then Exit Sub
    
    'Add the new value to the running total
    Range("D24").Value = Range("D24").Value + Target.Value

End Sub
Надеюсь, этих комментариев будет достаточно, чтобы вы поняли, что происходит. Событие Worksheet_Change запускается всякий раз, когда что-то меняется на этом конкретном листе.