Нужно вставить свой пункт в контекстное меню Excel, но нужно это меню только в одном из листов.
Пишу:
- Код: Выделить всё
Private Sub Worksheet_Activate()
‘ добавление
Set newPopUp = CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=1)
newPopUp.Caption = "Проба"
newPopUp.OnAction = "Макрос1"
End Sub
Private Sub Worksheet_Deactivate()
‘ удаление
For i = 1 To CommandBars("Cell").Controls.Count
If CommandBars("Cell").Controls.Item(i).Caption = "Проба" Then
CommandBars("Cell").Controls.Item(i).Delete
Exit For
End If
Next i
End Sub
Все работает, все замечательно, но(!!) когда открыто несколько файлов excel и переход между ними осуществляется через меню «Окно», событие Worksheet_Deactivate() не происходит и меню становиться доступно в другой книге, чего мне совершенно не нужно.
При попытке впихнуть код удаления меню в Workbook_Deactivate() выдает ошибку «Object variable or with block variable not set». Подскажите, плиз, как мне добиться требуемого результата? Все выходные уже бьюсь как рыба об асфальт (((((