Skip to main content

Excel'de bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini nasıl kaldırabilirsiniz?

Author: Siluvia Last Modified: 2025-06-10

Aşağıdaki videoda gösterildiği gibi, sonlandırmak için bir satın alma listesi olduğunu varsayalım. Listeyi kontrol ederken, bazı kategorilerdeki işaretli öğelerin bütçeyi aştığını ve yeniden seçilmesi gerektiğini fark ediyorsunuz. Liste çok uzun olduğu için, bir kategoride yeni bir onay kutusu işaretlendiğinde orijinal olarak işaretlenmiş olan onay kutusunun otomatik olarak işaretini kaldırmak için daha verimli bir yönteme ihtiyacınız var. Bu eğitim, size adım adım bu yöntemi göstermektedir.

VBA kodu ile yeni bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini kaldırma


VBA kodu ile yeni bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini kaldırma

Yukarıdaki gösteride olduğu gibi, Checkbox1, Checkbox2, Checkbox3,..., Checkbox10 adlı on onay kutusu 3 gruba ayrılmış ve tablodaki farklı kategorilere yerleştirilmiştir.

Bu örnekte, Checkbox1, 2, 3 bir grupta, Checkbox4, 5, 6, 7 başka bir grupta ve Checkbox8, 9, 10 aynı gruptadır. Her grupta, aynı anda yalnızca bir onay kutusu işaretlenebilir. Bir onay kutusu işaretlendiğinde, başka bir onay kutusu otomatik olarak işaretlenmemiş olur.

Şimdi bu sorunu çözmek için aşağıdaki VBA kodunu nasıl uygulayacağımıza bakalım.

1. Sayfa sekmesine sağ tıklayın ve açılır menüden Görünüm Kodu'nu seçin.

A screenshot showing the option View Code in the context menu of a sheet tab in Excel

2. Açılan Microsoft Visual Basic for Applications penceresinde, aşağıdaki VBA kodunu Sheet (Code) penceresine yapıştırın.

A screenshot of the VBA code editor in Excel with example VBA code for managing checkboxes

VBA kodu: Yeni bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini kaldırma

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

Notlar:

1) Kodda, Checkbox1, Checkbox2,..., Checkbox10 onay kutularının adlarıdır;
2) Aşağıdaki satırda, çift tırnak içindeki onay kutuları aynı gruba aittir ve her onay kutusu virgülle ayrılır. Daha fazla onay kutusu grubu eklemek için lütfen onay kutularını yeni çift tırnaklar içine alın.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Onay kutuları ActiveX Control onay kutularıdır.

3. Microsoft Visual Basic for Applications penceresini kapatmak için Alt + Q tuşlarına basın.

Daha sonra bir grupta yeni bir onay kutusu işaretlediğinizde, orijinal olarak işaretli olan onay kutusu aşağıdaki gif'te gösterildiği gibi otomatik olarak işaretlenmemiş olacaktır.


Demo: Excel'de bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini kaldırma

Kutools for Excel: Parmaklarınızın ucunda 300 kadar kullanışlı araç! Sürekli ücretsiz AI özellikleriyle çalışın! Hemen İndirin!

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste 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 Değiştir  |  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ı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!