Чего требуется:
1. Добавить программно на Sheet кнопку типа CommandButton
2. Получить ссылку (as CommandButton) на эту кнопку
Что получается:
С виду все нормально, код ниже отрабатывает:
- Код: Выделить всё
Dim zz as CommandButton
Dim tmp as OLEObject
Set tmp = ActiveSheet.OLEObjects.Add
(ClassType:="Forms.CommandButton.1", _
Left:=10, Top:=10, Width:=50, Height:=50)
Set zz = tmp.Object
НО! При этом слетают все определенные ранее переменные
К примеру, если определить в ThisWorkbook глобальную строковую переменную ss, а затем построить вокруг описанного кода добавки:
- Код: Выделить всё
MsgBox ss
--- код выше ---
ss = "test"
то вместо того, чтобы при втором вызове распечать test, мы снова получаем пустую строку.
Если вместо OLE объекта добавить что-нить попроще, то все работает на ура.
Как быть? Как и кнопку CommandButton в Excel добавить и переменные проги не сбросить?