К списку форумов К списку вопросов
Помогите с VBA
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

К списку вопросов на форуме Программирование

>>