Вопрос № 63005: Здравствуйте! Как сделать так чтобы по нажатии на кнопку в текущую активную ячейку листа 1 в EXcel встраивалась кнопка(в правый угол ячейки) по нажатии на которую появлялась бы форма...
Вопрос № 63.005
Здравствуйте! Как сделать так чтобы по нажатии на кнопку в текущую активную ячейку листа 1 в EXcel встраивалась кнопка(в правый угол ячейки) по нажатии на которую появлялась бы форма
Отправлен: 17.11.2006, 12:39
Вопрос задал: Rewer8 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: ADSota
Здравствуйте, Rewer8!
Примерно так (Макрос находиться в Module1):
...
'Добавление кнопки - которая полностью лежит в 1-й ячейке
Activesheet.Buttons.Add (Activesheet.Columns(1).Left, Activesheet.Rows(1).Top, Activesheet.Columns(1).Width, Activesheet.Rows(1).Height).Select
Selection.OnAction = "Module1.BTNClick"
Selection.Placement = xlMove
Selection.Characters.Text = "МОЯ Кнопка"
Selection.ShapeRange.AlternativeText = "МОЯ Кнопка"
...
sub BTNClick' Макрос, выполняемый при нажатии новой кнопки
MY_FORM.VISIBLE=true
end sub
...
--------- Открыть глаза навстречу солнцу
Ответ отправил: ADSota (статус: Профессионал) Тел.: 8-916-53-43-916 ICQ: 84611301 ---- Ответ отправлен: 17.11.2006, 13:00 Оценка за ответ: 5
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Rewer8!
Sub Кнопка1_Щелкнуть()
Dim c, btn
Static i As Long
i = i + 1
Set c = Excel.ActiveCell
Set btn = ActiveSheet.Buttons.Add(c.Left, c.Top, c.Width, c.Height)
btn.OnAction = "BtnOnClick"
btn.Caption = "кнопка " & CStr(i)
End Sub
Sub BtnOnClick()
Dim f As New UserForm1
Load f
f.Show vbModeless
Set f = Nothing 'Пусть форма живет своей жизнью
End Sub
--------- Учиться никогда не поздно. Особенно программированию!