![]() |
![]() |
Pen 16.04.2004 - 11:38 |
Упёрся в проблему For i =1 to 28 If CheckBox(i).Value = True Then a = CheckBox(i).Caption End If Next Проблема в том что CheckBox(i) не работает. Как можно решить эту проблему. Заранее спасибо!!!! End Sub |
ГыГы 1 - 16.04.2004 - 12:36 |
Если будешь писать русскими буквами в середине процедуры и около неё без комментария - не будет компилится :) По делу: а) поконретнее нужно расписывать, при какой программе VBA. б) индекс бывает только у массивов и коллекций. Объектные модели обычно представляют массивы в виде коллекций, а свойства, которые возвращают коллекции, имеют множественное число. Например отак: Controls. Посмотрев в хрустальный шар и немного помедитировав, я пришёл к выводу, что хотелось перебрать все контролы, и для тех, которые CheckBox чтото сделать. Если это оно, то писать нужно так: Sub cbs() Dim c As Control, cs As Controls, cb As CheckBox Set cs = Forms.ActiveForm.Controls For Each c In cs If TypeOf c Is CheckBox Then Set cb = c End If Next End Sub |
Pen 2 - 16.04.2004 - 13:19 |
Спасибо большое за мысль всё получилось hDim c As Control, cs As Controls, cb As CheckBox Set cs = UserForm1.Frame1.Controls For Each c In cs If c = True Then i = c.Caption End If Next |