Soru Döngü ile ilgili yardım

Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
Öğrencilerim için farklı işlevler içeren bir abaküs üzerinde çalışıyorum.
Yüzlük tablo üzerinde her buton için aşağıdaki gibi bir kodu yazıp düzenlemem gerekli. Ancak 100 butonun her biri için uzun bir iş ve bir süre sonra beyin sulandıran bir iş halini alıyor. Bu işi bir döngü ile halletmek mümkündür büyük ihtimalle. Ustalar ne der acaba.
Yardımlarınız için şimdiden teşekkürler.

Kod:
Private Sub CommandButton1_Click()
sndPlaySound "c:\Varmısın\click.wav", 1
If CommandButton2.Visible = False Then
CommandButton1.Visible = False
CommandButton2.Visible = True
ElseIf CommandButton3.Visible = False Then
CommandButton1.Visible = False
CommandButton3.Visible = True
ElseIf CommandButton4.Visible = False Then
CommandButton1.Visible = False
CommandButton4.Visible = True
ElseIf CommandButton5.Visible = False Then
CommandButton1.Visible = False
CommandButton5.Visible = True
ElseIf CommandButton6.Visible = False Then
CommandButton1.Visible = False
CommandButton6.Visible = True
ElseIf CommandButton7.Visible = False Then
CommandButton1.Visible = False
CommandButton7.Visible = True
ElseIf CommandButton8.Visible = False Then
CommandButton1.Visible = False
CommandButton8.Visible = True
ElseIf CommandButton9.Visible = False Then
CommandButton1.Visible = False
CommandButton9.Visible = True
ElseIf CommandButton10.Visible = False Then
CommandButton1.Visible = False
CommandButton10.Visible = True
ElseIf CommandButton11.Visible = False Then
CommandButton1.Visible = False
CommandButton11.Visible = True
End If
End Sub
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
Butonları çoktan UserForma eklediyseniz ve isimleri de CommandButton1, CommandButton2 olarak duruyorsa şu örneği inceleyiniz. UserForma istediğiniz kadar buton ekleyin her tıklanan butonu ayrı ayrı tespit edebilirsiniz.
 

Ekli dosyalar

Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
Ne yazık ki dosyaya ulaşamıyorum. Kod paylaşabilirseniz sanırım daha faydalı olacak. İlginize teşekkürler.
 
Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
Çok teşekkür ederim paylaşımınız için. Ama işimi görmedi.
Bana daha çok 10 buton arasında tıkladığım numaradaki buton gizlensin diğerleri görünsün biçiminde bir döngü lazım.
1-10, 10-20, 20-30, gibi her on buton için bunu yapmam gerekiyor. Ama döngü olayına tam hakim değilim.
 
Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
İhtiyacım tam olarak şu. ilk on butondan tıkladığım buton gizlenecek, on buton arasında gizli olan buton görünür olacak.
Sanki şöyle bir şey iş görecek gibi ama tam yazamadım sanırım.

Private Sub CommandButton1_Click()
sndPlaySound "c:\Varmısın\click.wav", 1
For i = 1 To 11
If CommandButton(i).vissible = False Then
Commanbutton (i).vissible = True
CommandButton1.Visible = False
end if
end sub

bu kodu bi düzeltebilir misiniz.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,265
Excel Vers. ve Dili
office 2003 tr + office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2024
Yazım hatasına dikkat ettiniz mi ?

Dosyada da bu şekilde hatalı ise , kurulum doğru olsa da çalışmaz takılır.

vissible yazanların tamamını noktadan sonra ya Visible yazın ya da nokta koyduğunuzda açılan olay listesinde Visible seçin ve deneyin.
 
Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
onu düzelttim ama
Commanbutton (i) ya da Commanbutton i
yazımını hatalı gösteriyor. buton numarasını i değişkenine nasıl bağlamalıyım.
doğru yazım biçimi ne olmalı?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,265
Excel Vers. ve Dili
office 2003 tr + office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2024
For i = 1 To 11
If CommandButton(i).Visible = False Then
Commanbutton(i).Visible = True
CommandButton1.Visible = False
Next
End if
End Sub
Dener misiniz ?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,265
Excel Vers. ve Dili
office 2003 tr + office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2024
For i = 1 To 11
If CommandButton(i).Visible = False Then
Commanbutton(i).Visible = True
CommandButton1.Visible = False
Next i
End if
End Sub
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
siz abaküs diyince ben direk 100 tane buton olduğunu varsaydım. çalışmanızın bir örneğini paylaşırsanız çözüm üretmek daha kolay olacaktır.
userform üzerindeki CommandButton nesnelerine erişmek için Controls() fonksiyonunu kullanın.
Kod:
For i = 1 To 3
Controls("CommandButton" & i).Visible = False
Next
 
Katılım
21 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2007 Türkçe
Kod:
For i = 1 To 3
Controls("CommandButton" & i).Visible = False
Next
[/QUOTE]


Bu kod işimi gördü.
Çok teşekkür ederim.
 
Üst