KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de bir grupta yalnızca bir onay kutusunun seçilmesine nasıl izin verilir?

YazarSiluvia Değiştirme Tarihi

Bazı Excel uygulamalarında, kullanıcıların bir grup onay kutusundan yalnızca bir seçeneği seçmesini sağlayabilirsiniz—bu davranış, Radyo Düğmesi’nin işleyişini taklit eder. Örneğin aşağıdaki ekran görüntüsünde gösterildiği gibi, 2. satırdaki bir onay kutusunu işaretlediğinizde gruptaki diğer tüm onay kutuları anında devre dışı bırakılır; böylece aynı anda yalnızca tek bir seçim yapılabilir. Bu kısıtlama, anket formları, tek cevaplı seçim listeleri veya çoklu yanıtları önlemek istediğiniz panolar gibi senaryolarda oldukça kullanışlıdır. Excel’de bu işlevselliği doğrudan elde etmek, VBA kodu gibi özel teknikler gerektirir. Bu makale, Excel’de onay kutularıyla “tek seçim” etkisini etkinleştirmek için pratik çözümler sunar ve adım adım talimatlarla gerçek kullanım için dikkat edilmesi gereken önemli noktaları içerir.

Excel'de aynı anda yalnızca biri seçilebilen onay kutuları grubunun ekran görüntüsü


Yalnızca bir onay kutusunun VBA koduyla seçili olmasını sağlayın

Aynı anda yalnızca bir onay kutusunun seçili olabilmesini sağlamak için aşağıdaki VBA yaklaşımını kullanabilirsiniz. Bu çözüm, karmaşık şablonlarda veya etkinleştirme/devre dışı bırakma mantığının kritik olduğu durumlarda sorunsuz ve otomatik bir kullanıcı deneyimi sunması açısından idealdir.

1. Tek seçim zorlamak istediğiniz yere önce onay kutularını ekleyin. Bu çözüm için mutlaka ActiveX Denetimi onay kutularını kullanmalısınız; çünkü Form Denetimi onay kutuları doğrudan etkinleştirme/devre dışı bırakma mekanizmasını desteklemez. ActiveX onay kutuları eklemek için Geliştirici sekmesine gidin > Ekle > ActiveX Denetimleri > Onay Kutusu. Aşağıdaki gibi tüm onay kutularını istediğiniz grupta düzenleyin:

Excel'de ActiveX Denetimi onay kutularının eklenmesini gösteren ekran görüntüsü

2. Alt+F11 tuşlarına aynı anda basarak Microsoft Visual Basic for Applications penceresini açın.

3. Düzenleyici penceresinde Ekle > Sınıf Modülü seçeneğine tıklayın. Bu adım, birden fazla onay kutusunun olaylarını işlemek üzere yeni bir sınıf modülü oluşturur. Sınıf modülü kullanmak, kaç tane onay kutusu olursa olsun her birine ayrı ayrı tıklama olaylarıyla yanıt vermenizi sağlar.

Excel VBA'da Sınıf Modülü eklemek için seçeneği gösteren ekran görüntüsü

4. Yeni sınıf modülünü sol taraftaki ()Özellikler) bölmesinde bulun, üzerine tıklayın ve (Ad) kutusuna varsayılan değeri (örneğin Class1) değiştirerek adını ClsChk yapın. Ardından aşağıdaki kodu bu sınıf modülünün kod penceresine kopyalayıp yapıştırın. Referans olarak ekran görüntüsüne bakın:

Sınıfı ClsChk olarak yeniden adlandırmak için VBA'daki Özellikler bölmesinin ekran görüntüsü

VBA kodu 1: Aynı anda yalnızca bir onay kutusunu seçin

Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub

Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then

    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Value = False
        xObj.Object.Enabled = False
      End If
    Next
Else
    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Enabled = True
      End If
    Next
End If
End Sub  

5. Ardından Ekle > Modül seçeneğine tıklayarak standart bir kod modülü ekleyin. Aşağıdaki kodu modül penceresine kopyalayıp yapıştırın. Bu kod, yukarıda tanımlanan olay işleyiciyle tüm onay kutularınızı "bağlayarak" başlatacaktır:

VBA kodu 2: Aynı anda yalnızca bir onay kutusunu seçin

Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
   Set xSht = ActiveSheet
   Set xCollection = Nothing
    For Each xObj In xSht.OLEObjects
        If xObj.Name Like "CheckBox**" Then
            Set xChk = New ClsChk
            Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
            xCollection.Add xChk
        End If
    Next
    Set xChk = Nothing
End Sub

6. Kodu çalıştırmak için F5 tuşuna basın; bu işlem, onay kutusu grubunuzda tek seçim mantığını etkinleştirir. Herhangi bir kutuyu işaretleyerek davranışı test edin—diğer tüm kutular hemen işaretlenmemiş ve devre dışı bırakılmış olmalıdır. Geçerli seçiminizin işaretini kaldırırsanız, tüm onay kutuları tekrar etkinleşir ve farklı bir seçim yapabilirsiniz.

VBA kodu çalıştırıldıktan sonra Excel'de aynı anda yalnızca biri etkin olan onay kutularının ekran görüntüsü

Not: Grubunuza herhangi bir onay kutusu ekler veya silerseniz, başlatma VBA'sını tekrar çalıştırmanız gerekir. Bunun nedeni, olay işleyicilerin kod her yürütüldüğünde yenilenmesi ve böylece denetim grubundaki değişikliklerin VBA tarafından doğru şekilde tanınmasıdır.

Bu yöntemin avantajları arasında tam otomasyon yer alır—kullanıcılar yanlışlıkla birden fazla seçenek seçemez. Ancak yalnızca Excel sürümüne bağlı olarak sınırlı olabilen ActiveX denetimleriyle çalışır ve makroların etkinleştirilmesini gerektirir. Ayrıca, ActiveX denetimleri veya makrolar içeren çalışma kitaplarını diğer kullanıcılara dağıtmak ek güvenlik izinleri gerektirebilir.


İlgili makaleler:

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste…
Sütun Yöneticisi:Belirli Sayıda Sütun Ekle|Sütunları Taşı|Gizli Sütunların Görünürlük Durumunu Aç/Kapat|Aralıkları ve Sütunları Karşılaştır…
Öne Çıkan Özellikler:Izgara Odaklama   |  Tasarım Görünümü   |Gelişmiş formül çubuğu   | Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar