Не срабатывает вызов макроса из контекстного меню. - VB

Узнай цену своей работы

Формулировка задачи:

Добавил в стандартное контекстное меню Excel свое подменю.
в microsoft excel objects (Лист2(ТРАФАРЕТ))
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
Run "Module1.Add_Menu", Target
End Sub
в Modules
Sub Add_Menu(ByVal Target As Excel.Range)
If checkTbl Then
If checkTbl Then
With Application.CommandBars("cell").Controls.Add(Type:=msoControlPopup, temporary:=True)
.BeginGroup = True
.Caption = "Сводной отчетности команды"
.Tag = "onSvod"
End With
Set mnuSvd = Application.CommandBars.FindControl(Type:=msoControlPopup, Tag:="onSvod")
Set mnuSvdDel = mnuSvd.Control.CommandBar
With mnuSvdDel.Controls.Add(Type:=msoControlButton, temporary:=True)
.Caption = "Строку текущую удалить"
.OnAction = BuildProcArgString("DeleteString")
.Tag = "mnuSvdDel_Str"
.FaceId = 276 '1786
End With
End If
End Sub
Sub DeleteString()
Rows(ActiveCell.Row).Delete
End Sub
не работает.
подскажите, что не так?
если в Sub DeleteString() добавить всяки MsgBox - то они выходят, но почему то два раза.
строку удалял уже всякими способами..
и :
Worksheets("ТРАФАРЕТ").Rows(numRowIns).Delete
и
Dim rw As Range
For Each rw In Worksheets(1).Cells(ActiveCell.Row, 1).CurrentRegion.Rows
rw.Delete
Next
и еще кучу вариантов.
никак не хочет удалять текущую строчку.

Решение задачи: «Не срабатывает вызов макроса из контекстного меню.»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Workbook_Open()
Module1.Add_Menu
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5