Soru Birden Fazla OptionButton'ı Tek Döngüde Hücreye Yazdırmak

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Merhabalar,

Birden fazla optionbutton'ı tek bir hücreye bağlayıp değer yazdırıyorum. Bunun için 3 döngü (doğru bir tanım mı bilemedim) yazdım. Bunu tek döngüde nasıl yazabilirim?


Private Sub OptionButton1_Click()
Range("a1") = 1
End Sub

Private Sub OptionButton2_Click()
Range("a1") = 2
End Sub

Private Sub OptionButton3_Click()
Range("a1") = 3
End Sub

 
Katılım
18 Ocak 2019
Mesajlar
234
Excel Vers. ve Dili
Office 2013
Merhaba @likaba

Deneyiniz.

Kod:
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then Range("a1") = 1
If OptionButton2.Value = True Then Range("a1") = 2
If OptionButton3.Value = True Then Range("a1") = 3
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu döngü değil :)

Yapmak istediğiniz A1 boşsa 1 olsun, 1 ise 2 olsun, 2 ise 3 olsun, 3 ise 1 olsun mu?
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Bu döngü değil :)

Yapmak istediğiniz A1 boşsa 1 olsun, 1 ise 2 olsun, 2 ise 3 olsun, 3 ise 1 olsun mu?
:) Sub ile başlayıp yazılmış olan her bir kod bloğuna ne isim veriliyor?

Yusuf Bey,

Yapmak istediğim, 3 tane optionbutton var (projeme göre daha fazla olabilir).
optionbutton1 e bastığımda A1 hücresine 1, optionbutton2 ye bastığımda A1 hücresine 2 ... bu şekilde her butona bastığımda kod içerisinde belirtmiş olduğum değeri A1 hücresine yazdırmak istiyorum.
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Merhaba @likaba

Deneyiniz.

Kod:
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then Range("a1") = 1
If OptionButton2.Value = True Then Range("a1") = 2
If OptionButton3.Value = True Then Range("a1") = 3
End Sub
Merhaba,

Sanırım bu kodu her bir optionbutton'a eklemem gerekiyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,067
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
:) Sub ile başlayıp yazılmış olan her bir kod bloğuna ne isim veriliyor?

Yusuf Bey,

Yapmak istediğim, 3 tane optionbutton var (projeme göre daha fazla olabilir).
optionbutton1 e bastığımda A1 hücresine 1, optionbutton2 ye bastığımda A1 hücresine 2 ... bu şekilde her butona bastığımda kod içerisinde belirtmiş olduğum değeri A1 hücresine yazdırmak istiyorum.
Bildiğim kadarıyla Makro deniyor. Döngü ise herhangi bir değişkene belirli aralıkta sırasıyla farklı değerler verme işlemine deniyor. Örneğin for next döngüsü gibi.

Yapmak istediğiniz işlemin verdiğiniz örnek dışında yapılma yöntemini maalesef "kısıtlı bilgimle" bilemiyorum.
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Bildiğim kadarıyla Makro deniyor. Döngü ise herhangi bir değişkene belirli aralıkta sırasıyla farklı değerler verme işlemine deniyor. Örneğin for next döngüsü gibi.

Yapmak istediğiniz işlemin verdiğiniz örnek dışında yapılma yöntemini maalesef "kısıtlı bilgimle" bilemiyorum.
Teşekkür ederim Yusuf Bey
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Hayır, Tek butonda çalışır bu kod.
Hangi optionbutton seçili ise ona göre A1 e değer atar.
Harici bir buton kullanmadan tek bir makro kod bloğu yazıp yapılabilir mi diye öğrenmek istemiştim. Bu kod ile extra bir buton ekleyip 2 işlem birden yapmam gerekiyor.
 
Katılım
18 Ocak 2019
Mesajlar
234
Excel Vers. ve Dili
Office 2013
Harici bir buton kullanmadan tek bir makro kod bloğu yazıp yapılabilir mi diye öğrenmek istemiştim. Bu kod ile extra bir buton ekleyip 2 işlem birden yapmam gerekiyor.
Sayfa üzerindeyse şu şekilde deneyebilirmisiniz.
- Optionbutonu seçin, daha sonra herhangi bir hücreye tıklayın.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If OptionButton1.Value = True Then Range("a1") = 1
        If OptionButton2.Value = True Then Range("a1") = 2
        If OptionButton3.Value = True Then Range("a1") = 3
End Sub
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Sayfa üzerindeyse şu şekilde deneyebilirmisiniz.
- Optionbutonu seçin, daha sonra herhangi bir hücreye tıklayın.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If OptionButton1.Value = True Then Range("a1") = 1
        If OptionButton2.Value = True Then Range("a1") = 2
        If OptionButton3.Value = True Then Range("a1") = 3
End Sub
İlgilendiğiniz için teşekkür ederim.
Tek kod bloğunda yazılmış ama herhangi bir hücreye tıklamadan sadece optionbuttonlara tıklayıp A1 e yazdırmak istiyorum.
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027

Ekli dosyalar

Katılım
18 Ocak 2019
Mesajlar
234
Excel Vers. ve Dili
Office 2013
Belgenizi ekledim.
Deneyiniz.


Kod:
Private Sub OptionButton1_Click()
Range("a1") = 1
End Sub

Private Sub OptionButton2_Click()
Range("a1") = 2
End Sub

Private Sub OptionButton3_Click()
Range("a1") = 3
End Sub

'yukarıda ki 3 kod bloğu tek blok halinde yazılabilir mi?
Sub deneme()
    MsgBox "Kod Çalıştı"
End Sub
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Belgenizi ekledim.
Deneyiniz.


Kod:
Private Sub OptionButton1_Click()
Range("a1") = 1
End Sub

Private Sub OptionButton2_Click()
Range("a1") = 2
End Sub

Private Sub OptionButton3_Click()
Range("a1") = 3
End Sub

'yukarıda ki 3 kod bloğu tek blok halinde yazılabilir mi?
Sub deneme()
    MsgBox "Kod Çalıştı"
End Sub
Bende form denetimlerinde ki seçenek düğmelerini kullanmıştım.

Excelin ilgili sayfasında 3 gruptan oluşan seçenek düğmeleri mevcut (Aylar, yıllar ve bölgeler). Bu her bir grup içindeki seçenek düğmelerini "grup kutusu" kullanarak çerçeveleyip 3 farklı hücreye yazdırmıştım (Aylar seçenek butonları A1'e, yıllar seçenek butonları B1'e, bölgeler seçenek butonları ise C1'e).
Lakin sayfanın tasarımı yapınca bu grupları da tasarıma göre yer değiştirdim. Ne olduysa bundan sonra oldu :) Seçenek düğmelerini farklı hücrelere yazdırmak için kullanmış olduğum "grup kutusu" işe yaramadı. Yıllar ve bölgeler seçenek düğmeleri ne kadar uğraş versemde sürekli aynı hücreye yazdı. Bende bu durumdan sıkıldığım için optionbutton eklemiştim.

Acaba "grup kutusu" kullanmak için dikkat etmemiz gereken bir şey mi var?
 
Katılım
18 Ocak 2019
Mesajlar
234
Excel Vers. ve Dili
Office 2013
Önce, seçenek düğmelerinin tümünü ekleyin, sonra seçenek düğmelerini gruplandırın, grup kutularını fareyle seçenek düğmelerini içine alacak şekilde fareyle ekleyin, sonra grup kutusuyla seçenek düğmesi gruplarını tekrar gruplandırın, .
Hücre bağlantılarını en son oluşturun.
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
Önce, seçenek düğmelerinin tümünü ekleyin, sonra seçenek düğmelerini gruplandırın, grup kutularını fareyle seçenek düğmelerini içine alacak şekilde fareyle ekleyin, sonra grup kutusuyla seçenek düğmesi gruplarını tekrar gruplandırın, .
Hücre bağlantılarını en son oluşturun.
İlgilendiğiniz için teşekkür ederim. Yarın ofiste bu sıralama ile deniyeceğim
 

likaba

Altın Üye
Katılım
3 Mayıs 2016
Mesajlar
158
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
21-12-2027
# 16 numaralı mesajda bahsettiğiniz sıralamayı yaptım. Sorun görünmüyor. Teşekkürler
 
Üst