• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

controls(i) ye For i ..... Next i döngüsü????

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
selam arkadaşlar. benim içinden cıkmaya başaramadığım bir sorunum var. şöyleki:

bir user formumda 6 adet label, 6 adet txtbox, 6 adette com.but. var.

ben textboxların özelliklerini aynı anda değiştirmek için aşağıdaki kodu kullandım:

for i = 5 to 10
With userform1.Controls(i)
.BackColor = &H8000000E
.Enabled = True
End With
Next i

şimdi gelelim soruma

"i" değişkenini controls lere atıyorum sırasıyla controls(5) den controls(10) a kadar gidiyor
burada
controls(5) = textbox1
controls(6) = textbox2
controls(7) = textbox3
controls(8) = textbox4
controls(9) = textbox5 oluyor ama
controls(10) = textbox6 olmuyor, gidiyor commandbutton1 oluyor.

burda benim dikkatimi çeken şu: textbox6 yı formuma sonrada ilave ettim. yani ilk yağtığımda 5 txtbox vardı. sonradan bir tane ilave ettim.

kontrol nesnelerinin yerlerini değiştirebilirmiyim, bu mümkünmü? mümkünse nasıl?
teşekkür ederim....
 
Aşağıdaki gibi döngüyü kurabilirsiniz.

for a=1 to 6

controls("textbox" & a).....

next
 
sayın leventm, cevabınız için teşekkür ederim. ancak sanırım ben eksik bilgi yamzışım.
ben textbox larımın name özelliklerini değiştirmiştim.
yani textbox1 textbox2 textbox3 diye gitmiyor
txtad
txttahsil
txttc gibi...
 
İşte bu sebeplerle her zaman textboxların adını ardışık numaralı yapın. Çünkü her nesneyi kendi arasında ancak ismine göre gruplama yapabilirsiniz. Birde aşağıdaki gibi bir mantık kurulabilir.

[vb:1:a7ea9cbb97]For a = 0 To Controls.Count - 1
If TypeName(Controls(a)) = "TextBox" Then MsgBox Controls(a).Name
Next
[/vb:1:a7ea9cbb97]
 
teşekkürler...
 
Geri
Üst