Страницы: 1
RSS
Создание кнопки в коде
 
Подскажите, пожалуйста, как создать кнопку в коде, присвоить ей имя, присвоить код...  
Чтобы впоследствии при нажатии на нее присвоенный код выполнялся?  
 
Но макрорекордер не дает информации о том, как "создать макрос с кодом, который бы выполнялся при нажатии на нее в будущем..."  
 
Вот код по созданию самой кнопки:  
 
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _  
       , DisplayAsIcon:=False, Left:=303, Top:=15.75, Width:=169.5, Height:= _  
       33.75).Select
Audiatur et altera pars
 
Kindness, перечитал твой вопрос и понял так: ты хочешь программно создать кнопку, чтобы ПОТОМ при нажатии на ЭТУ кнопку она создала бы сама себя... Но ведь она уже создана!
 
Поскольку вы собираетесь управлять событиями (в вашем случае нажатие кнопки), то вам, скорее всего, придется создавать класс. Вот пример, аналогичный вашему, только в нём ComboBoxы а не кнопки генерируются в коде, а также программируется отклик на событие Change в ComboBox (код в модуле класса)
At odd moments: VBA, VB6, VB.NET, Java, Java for Android, Java Script, Action Script, Windows Scriping Host
 
Sub Макрос1()  
   ActiveSheet.Buttons.Add(233.25, 78, 125.25, 45).Select  
   Selection.OnAction = "Макрос1"  
   Application.CommandBars("Forms").Visible = False  
   Selection.Characters.Text = "Спец. кнопка"  
   With Selection.Characters(Start:=1, Length:=12).Font  
       .Name = "Times New Roman"  
       .FontStyle = "обычный"  
       .Size = 14  
   End With  
End Sub  
Этот макрос создат кнопку на листе, присвоит ей имя и привяжет к самому Макрос1. При последующем нажатии на эту кнопку будет создана копия такой кнопки и так много-много раз.
Страницы: 1
Читают тему
Наверх