OptionButton

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba;

Userform içerisinde grup olarak 6 adet OptionButton mevcut

OptionButton1.GroupName = 1
OptionButton2.GroupName = 1
OptionButton3.GroupName = 1
OptionButton4.GroupName = 1
OptionButton5.GroupName = 1
OptionButton6.GroupName = 1
Private Sub CommandButton2_Click()
........
End Sub
olayına hangi OptionButton seçili (true) ise onun adını bir hücreye yazdıracak koda ihtiyacım var, Forumu taradım fakat işimi görecek şekilde bir kod bulamadım.

Örn: [a1]=OptionButton5

Teşekkürler, Kolay gelsin.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Class modulle kısa çözüm olabilir, ekteki örneği inceleyin,
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Bir Frame oluşturup, OptionButton'ları onun içinde oluşturup, aşağıdaki kodu yazarsanız. (Grup oluşturmanıza gerek yok)
Range("A1").Value = Frame1.ActiveControl.Name
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Sayın omerceri güzel söylüyorsunuz da, bu kodu frame1 in hangi eventine yazarak optionbuttonlara bastığımızda sayfaya yazmasını sağlayacağız.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn tamer42'nin istediği gibi yapmaya çalışmıştım...
Ama sizin yaptığınız kullanım açısından daha pratik.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Her ne kadar classmodül uygulamasını tercih etsemde, bu soruda işlem bir commandbutton ile yapılacağı için gruplama ile de çözüm elde edilebilir. Bir alternatif olsun.

[vb:1:002ea0050f]Private Sub CommandButton1_Click()
For a = 1 To 6
If Controls("optionbutton" & a) Then [a1] = Controls("optionbutton" & a).Name
Next
End Sub[/vb:1:002ea0050f]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Levent hocamın verdiği kodlarda optionbutton isimlerini değiştirince sıkıntı oluyor.

OptionButton1 = aaa
OptionButton2 = bbb
OptionButton3 =ccc
....
....


Ben en kullanışlı olanı Sn Omerceri nin verdiği kodlar:
Range("A1").Value = Frame1.ActiveControl.Name

Yalnız burada optionbutton dışındakileri de dikakte alıyor, textbox, checkbox gibi...

bu kodların içine sadece optionbutton olanları dikkate alacak şekilde düzenleme yapalirmi?

İyi Çalışmalar dilerim...
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sadece OptionButton'lar için kulladığın Frame oluşturursan, sorun çıkmaz diye düşünüyorum
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde aşağıdaki gibi deneyin.

[vb:1:83c13f84c6]Private Sub CommandButton1_Click()
On Error Resume Next
For a = 0 To Controls.Count - 1
If TypeName(Controls(a)) = "OptionButton" And Controls(a) = True Then [a1] = Controls(a).Name
Next
End Sub
[/vb:1:83c13f84c6]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba;


Private Sub CommandButton1_Click()
On Error Resume Next
For a = 0 To Controls.Count - 1
If TypeName(Controls(a)) = "OptionButton" And Controls(a) = True Then [a1] = Controls(a).Name
Next
End Sub
Burada CommandButton1_Click yerine OptionButton lardan biri aktif (enabled) olduğunda direkt [a1] = Controls(a).Name işlemini yaptırabilirmiyim.

CommandButton a gerek kalmadan,

yani;
Private Sub OptionButton_Click()
.........
End Sub
yada,
Private Sub Frame1_Click()
.........
End Sub
gibi...
Teşekkürler, İyi Çalışmalar dilerim.
 
Üst