Здравствуйте! Помогите пожалуйста обработать одной процедурой 20 кнопок
Короче, есть форма на которой 28 кнопок, необходимо циклом, перебирая все кнопки поменять свойство Caption/ Например кнопке с Name- CommandButton28.Caption = "Название28", кнопке с Name- CommandButton29.Caption = "Название29" и т.д всем кнопкам. Процедура см. ниже - у меня не работает, Вариантов в голове нет, все форумы пересмотрел:
[vba]
Код
Public Sub VyborGruppy() For i = 28 To 43 cmb = CommandButton & i cmb.Caption = "Название" & i Next i End Sub
[/vba]
Здравствуйте! Помогите пожалуйста обработать одной процедурой 20 кнопок
Короче, есть форма на которой 28 кнопок, необходимо циклом, перебирая все кнопки поменять свойство Caption/ Например кнопке с Name- CommandButton28.Caption = "Название28", кнопке с Name- CommandButton29.Caption = "Название29" и т.д всем кнопкам. Процедура см. ниже - у меня не работает, Вариантов в голове нет, все форумы пересмотрел:
[vba]
Код
Public Sub VyborGruppy() For i = 28 To 43 cmb = CommandButton & i cmb.Caption = "Название" & i Next i End Sub
Public Sub VyborGruppy() Dim btn As Object, t& For Each btn In Me.Controls If btn.Name Like "CommandButton*" Then t = Replace(btn.Name, "CommandButton", "") Select Case t Case 28 To 43: btn.Caption = "Название" & t End Select End If Next End Sub
[/vba]
Но у wild_pig конечно проще
И где та форма? Хотя может так подойдёт: [vba]
Код
Public Sub VyborGruppy() Dim btn As Object, t& For Each btn In Me.Controls If btn.Name Like "CommandButton*" Then t = Replace(btn.Name, "CommandButton", "") Select Case t Case 28 To 43: btn.Caption = "Название" & t End Select End If Next End Sub
Всем спасибо за ответы, Но теперь выплыл новый вопрос. Как из этих 28 кнопок узнать какая была нажата? Все эти кнопки имеют Name от CommandButtom28 до CommandButtom42 и объединены одной рамкой (Frame). Т.е. в зависимости от нажатой кнопки выводится другой экран со следующим набором для выбора. Спасибо за оперативное решение.
Всем спасибо за ответы, Но теперь выплыл новый вопрос. Как из этих 28 кнопок узнать какая была нажата? Все эти кнопки имеют Name от CommandButtom28 до CommandButtom42 и объединены одной рамкой (Frame). Т.е. в зависимости от нажатой кнопки выводится другой экран со следующим набором для выбора. Спасибо за оперативное решение.Игорь
Все кнопки имеют 1. Свойство TabIndex. 2. Свойство Tag. 3. Свойство Name. 4. Свойство Caption. И любое можно использовать для разрешения задачи.
Все кнопки имеют 1. Свойство TabIndex. 2. Свойство Tag. 3. Свойство Name. 4. Свойство Caption. И любое можно использовать для разрешения задачи...........
Имеют, но как определить какая кнопка нажата, писать процедуру Click для каждой кнопки - можно, но глупо. Нужен универсальный обработчик нажатия кнопок из диапазона от commandbutton28 до commandbutton42
Имеют, но как определить какая кнопка нажата, писать процедуру Click для каждой кнопки - можно, но глупо. Нужен универсальный обработчик нажатия кнопок из диапазона от commandbutton28 до commandbutton42Игорь
Игорь, во-первых - "неужели" пишется так. Во-вторых, Вы попробовали то, что Вам предложили? В-третьих - знаете, очень неприятно общаться на форуме с анонимами. Не тяжело же зарегистрироваться! Минута дела.
Игорь, во-первых - "неужели" пишется так. Во-вторых, Вы попробовали то, что Вам предложили? В-третьих - знаете, очень неприятно общаться на форуме с анонимами. Не тяжело же зарегистрироваться! Минута дела.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
>>я не понимаю<< И не парьтесь. В Excel существует масса способоб быстор прописать 100 процедур [vba][code]Private Sub CommandButton43_Click() strGruppa = CommandButton43.Caption End Sub [/code][/vba]
>>я не понимаю<< И не парьтесь. В Excel существует масса способоб быстор прописать 100 процедур [vba][code]Private Sub CommandButton43_Click() strGruppa = CommandButton43.Caption End Sub [/code][/vba]wqeqwer
KuklP, Спасибо. Есть ссылка где можно про Class() почитать, не пойму как работает и в какой последовательности. И еще если не затруднит как из приложенной Вами программы получить название нажатой кнопки, убрав в коменты все лишнее.
KuklP, Спасибо. Есть ссылка где можно про Class() почитать, не пойму как работает и в какой последовательности. И еще если не затруднит как из приложенной Вами программы получить название нажатой кнопки, убрав в коменты все лишнее.IgorShuldybin