[ sojic @ 08.09.2008. 21:56 ] @
Hocu da uradim sledece


Ovo je inace za VBA u Excel.

Imam u formu 4 CheckBox-a, CheckBox1 .... CheckBox4.

Hocu da vidim ko je stikliran a ko nije.

Pri tome da uradim nesto ovako:


Code:

    For i = 1 To 4
        If CheckBox & I &.Value = True Then
           MsgBox "1"
        Else
           MsgBox "2"
        End If
    Next i


Nesto u stilu.

Ali ovo ne radi.

[ Shadowed @ 08.09.2008. 23:11 ] @
Naravno da ne radi. Napravi niz konrola.
[ Eurora3D Team @ 09.09.2008. 00:21 ] @
Mislim da u VBA nema control array-a al nisam siguran
Ali ovo radi ... probao sam u Excelovom VBA
Code:

Dim a As Collection ' ovo je u deklaraciji

Private Sub UserForm_Initialize()
Set a = New Collection
a.Add CheckBox1
a.Add CheckBox2
a.Add CheckBox3
a.Add CheckBox4
'ovo ispod moze da ide i u nekoj drugoj subrutini
Dim n As Integer: n = 1
For Each Item In a
If Item.Value = True Then MsgBox n & " true" Else MsgBox n & " false"
n = n + 1
Next
End Sub
[ Aleksandar Ružičić @ 09.09.2008. 16:02 ] @
a jel ima u VBA ono Form.Controls?

onda moze Me.Controls("Checkbox" & i).value
[ Eurora3D Team @ 09.09.2008. 16:17 ] @
@Aleksandar Ima :)
Code:

Private Sub UserForm_Click()
 For i = 1 To 2
        If Me.Controls("CheckBox" & i).Value = True Then
           MsgBox i & " je true"
        Else
           MsgBox i & " je false"
        End If
    Next i
End Sub
[ sojic @ 09.09.2008. 16:27 ] @
Hvala drugovi.

Uspelo mi je to sto sam trazio.

Pozdrav.