Макросом увеличить/уменьшить значение ячейки на единицу

Есть макрос для excel, привязываю его к фигуре, фигура находится в определенной ячейке. В данном случае в B6, как сделать так, чтобы мне не приходилось менять вручную адрес ячейки, а получать его в зависимости от места расположения фигуры? Например, фигура расположена в ячейке B9, соответственно получаю адрес ячейки из расположения фигуры и делаю уже инкремент.

Sub mac1()
    With Range("B6")
    If IsNumeric(.Value) Then
    Application.EnableEvents = False
    .Value = .Value + 1
    Application.EnableEvents = True
    End If
    End With
End Sub

Ответы (1 шт):

Автор решения: vikttur

Событие выделения ячейки (ЛКМ) не сосовсем удобно в данном случае.

Вариант: при ПКМ +1. Если ошиблись, отнять единичку - DoubleClick

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Range("B2:B100"), Target) Is Nothing Then
        Cancel = True
        Target.Value = Target.Value + 1
    End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Range("B2:B100"), Target) Is Nothing Then
        Cancel = True
        Target.Value = Target.Value - 1
    End If
End Sub

Код разместить в модуле листа

→ Ссылка