Макросом увеличить/уменьшить значение ячейки на единицу
Есть макрос для 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
Код разместить в модуле листа