Excel'de bir onay kutusu işaretlendiğinde başka bir onay kutusunun işaretini nasıl kaldırabilirsiniz?
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.
2. Açılan Microsoft Visual Basic for Applications penceresinde, aşağıdaki VBA kodunu Sheet (Code) penceresine yapıştırın.
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:
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
En İyi Ofis Verimlilik Araçları
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!