Hogyan lehet törölni egy másik jelölőnégyzet bejelölését, ha egy jelölőnégyzet be van jelölve az Excelben?
Ahogy az alábbi gif is mutatja, tegyük fel, hogy van egy vásárlási lista, amelyet Önnek kell véglegesítenie. A lista ellenőrzése során azt tapasztalja, hogy egyes kategóriákban a bejelölt tételek túllépik a költségvetést, és újra ki kell választani. Mivel a lista túl hosszú, most egy hatékonyabb módszerre van szüksége az eredetileg bejelölt jelölőnégyzet automatikus törlésére, amikor egy kategóriában új jelölőnégyzetet jelöl be. Ez az oktatóanyag lépésről lépésre bemutatja a módszert, hogy segítsen a megvalósításban.
Törölje a jelölést egy másik jelölőnégyzetből, ha új jelölőnégyzet van bejelölve VBA-kóddal
Törölje a jelölést egy másik jelölőnégyzetből, ha új jelölőnégyzet van bejelölve VBA-kóddal
Ahogy a fenti demóban is látható, tíz jelölőnégyzet van megnevezve 1. jelölőnégyzet, 2. jelölőnégyzet, 3. jelölőnégyzet,..., 10. jelölőnégyzet 3 csoportra vannak osztva, és a táblázatban különböző kategóriákban találhatók.
Ebben a példában a Checkbox1, 2, 3 egy csoportban, a Checkbox4, 5, 6, 7 egy csoportban, a Checkbox8, 9,10 pedig ugyanabban a csoportban található. Minden csoportban egyszerre csak egy jelölőnégyzetet lehet bejelölni. Ha egy jelölőnégyzet be van jelölve, egy másik jelölőnégyzet bejelölése automatikusan törlődik.
Most nézzük meg, hogyan kell alkalmazni a következő VBA-kódot a probléma megoldására.
1. Kattintson jobb gombbal a lapfülre, majd kattintson a gombra Kód megtekintése a helyi menüből.
2. A nyitottban Microsoft Visual Basic for Applications ablakban illessze be a következő VBA-kódot a Lap (kód) ablak.
VBA-kód: Szüntesse meg egy másik jelölőnégyzet bejelölését, ha új jelölőnégyzetet jelöl be
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
Megjegyzések:
3. megnyomni a más + Q gombok a Microsoft Visual Basic for Applications ablak.
Ezután, amikor bejelöl egy új jelölőnégyzetet egy csoportban, az eredeti bejelölt négyzet bejelölése automatikusan törlődik, ahogy az az alábbi gif-en is látható.
Demo: Törölje a jelölést egy másik jelölőnégyzetből, ha egy jelölőnégyzet be van jelölve az Excelben
Kutools az Excel számára 300+ hatékony funkciót tartalmaz a Microsoft Excel számára. Ingyenesen kipróbálható korlátozás nélkül 30 napon belül. Töltse le most!!
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!