Причина, по которой ваше решение не работает, состоит в том, что значение ActiveCell рабочего листа не изменяется, когда пользователь нажимает кнопку - они нажимают на кнопку, а не на ячейку.
Есть несколько способов справиться с этим.  Либо вы можете создать множество кнопок и иметь один общий сабвуфер для выполнения работы, либо вы можете перехватить событие смены ячейки и ответить на него.  Первый будет намного приятнее для пользователя, но это больше работы для первоначальной настройки.
Способ 1: кнопки
Этот метод использует имя кнопки для выполнения соответствующего действия в соответствующей ячейке.  В качестве обзора создайте все свои кнопки и попросите каждую из них вызывать один и тот же универсальный сабвуфер VBA, который, в свою очередь, определит, какая кнопка вызывала его, и выполнит соответствующую операцию.
Предположим, вы будете называть ваши кнопки такими, как ADD_D3 и SUB_D3 , например, чтобы увеличить / уменьшить значение в D3.
Сначала создайте подпрограмму для работы в VBA:
Sub AdjustValue()
    Dim btnName As String
    Dim targetCell As String
    Dim addAmount As Integer
    btnName = Application.Caller
    targetCell = Mid(btnName, 5, Len(btnName))
    addAmount = IIf(Left(btnName, 3) = "ADD", 1, -1)
    ActiveSheet.Range(targetCell).Value = _
        ActiveSheet.Range(targetCell).Value + addAmount
End Sub
Разбивая это:
- Заявка.Звонящий дает вам имя звонящего, в данном случае название кнопки
- Мы берем имя целевой ячейки с конца, пропуская первые четыре символа
- Мы выясняем, добавляем мы или вычитаем на основе первых трех символов
- Мы используем имя целевой ячейки для обновления ячейки листа
Затем создайте свои кнопки; добавьте кнопки управления формой в таблицу для каждой нужной вам кнопки + и - .  
Для каждого присвойте ему систематическое имя на основе ячейки, на которую оно должно ориентироваться, как описано выше.  Например, на скриншоте выше вы можете назвать первые две кнопки ADD_D3 и SUB_D3 .
Чтобы переименовать кнопку, щелкните ее правой кнопкой мыши, чтобы выбрать ее, а затем в поле адреса в верхнем левом углу листа перезаписать имя (например, кнопку 1) новым именем:

Наконец, вышесказанное должно работать и для нескольких листов, так как подпрограмма использует ActiveSheet для доступа к ячейке.
Способ 2: изменение выбора
Это намного проще в настройке, но немного хакерский.  Во-первых, настройте свой лист с символами плюс и минус в каждой ячейке, раскрасив их так, как вы хотите, чтобы они выглядели как кнопки.  Например:
Обратите внимание, что вы должны использовать одинарную кавычку ('), чтобы поместить символ в ячейку как текст, например '- и '+ (это видно на панели формул в верхней части примера).
Затем создайте одну подпрограмму для ответа на одну из выбранных ячеек:
Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim numCell As Range
    If Target.Count <> 1 Then Exit Sub
    If Target.Value = "+" Then
        Set numCell = Target.Offset(0, -1)
        numCell.Select
        numCell.Value = numCell.Value + 1
    ElseIf Target.Value = "-" Then
        Set numCell = Target.Offset(0, 1)
        numCell.Select
        numCell.Value = numCell.Value - 1
    End If
End Sub
Разбивая это:
- Имя подпрограммы важно - оно говорит Excel запускать подпрограмму всякий раз, когда пользователь нажимает на любую ячейку
- Параметр Target- это ячейка, по которой щелкнул пользователь, но это также может быть перетаскивание.  Сначала мы проверяем, что размер равен ровно 1, и завершаем работу, если это не так.
- Затем мы проверяем его значение на +или-значение.  Обратите внимание, что нам не нужно проверять кавычки.
- Затем мы используем команду « Offsetчтобы найти ячейку слева или справа, в зависимости от того, имеем ли мы+или-начальную ячейку
- Как только у нас появится числовая ячейка, мы сначала ее выбираем, затем меняем ее значение вверх или вниз
Причина, по которой мы выбираем числовую ячейку, заключается в том, что она перемещает выделение из + или - , чтобы вы могли щелкнуть ее еще раз.  Если вы когда-нибудь захотите поработать с этими ячейками, вам необходимо временно отключить эту подпрограмму, например, поместив строку « Exit Sub выхода» вверху.
Небольшое примечание: Worksheet_SelectionChange - это то, что вы использовали бы, если бы работали в макросе листа: 
Если вы работаете в модуле ThisWorkbook , вам нужно использовать подпункт глобального изменения выбора:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    'Code goes in here
End Sub
Тот же код должен работать - и в этом случае будет работать на каждом листе в вашей книге.
Пример таблица показывает как примеры здесь.