Hoppa till huvudinnehåll

Hur avmarkerar man en annan kryssruta när en kryssruta är markerad i Excel?

Som visas i gif-filen nedan, anta att det finns en inköpslista som måste slutföras av dig. När du kontrollerar listan upptäcker du att de markerade objekten i vissa kategorier överskrider budgeten och måste väljas om. Eftersom listan är för lång behöver du nu ett mer effektivt sätt att automatiskt avmarkera den ursprungliga kryssrutan när en ny kryssruta är markerad i en kategori. Denna handledning visar metoden steg-för-steg för att hjälpa dig att få det gjort.

Avmarkera en annan kryssruta när en ny kryssruta är markerad med VBA-kod


Avmarkera en annan kryssruta när en ny kryssruta är markerad med VBA-kod

Som visas i demon ovan, namnges tio kryssrutor Kryssruta 1, Kryssruta 2, Kryssruta 3, ..., Kryssruta 10 är indelade i 3 grupper och placerade i olika kategorier i tabellen.

I det här exemplet är Checkbox1, 2, 3 i en grupp, Checkbox4, 5, 6, 7 är i en grupp och Checkbox8, 9,10 är i samma grupp. I varje grupp får endast en kryssruta markeras åt gången. När en kryssruta är markerad, avmarkeras en annan kryssruta automatiskt.

Låt oss nu se hur du använder följande VBA-kod för att lösa detta problem.

1. Högerklicka på arkfliken och klicka Visa kod från snabbmenyn.

2. I det öppnade Microsoft Visual Basic för applikationer fönstret, klistra in följande VBA-kod i Blad (kod) fönster.

VBA-kod: Avmarkera en annan kryssruta när en ny kryssruta är markerad

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

Anmärkningar:

1) I koden, Checkbox1, Checkbox2, ... Kryssruta 10 är namnet på kryssrutorna;
2) På följande rad tillhör kryssrutorna som omges av dubbla citattecken samma grupp, och varje kryssruta är avgränsad med ett kommatecken. För att lägga till fler kryssrutegrupper, vänligen bifoga kryssrutorna i nya dubbla citattecken.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Kryssrutorna är ActiveX Control kryssrutor.

3. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.

När du sedan markerar en ny kryssruta i en grupp, kommer den ursprungliga kryssrutan att avmarkeras automatiskt som visas i gif-filen nedan.


Demo: Avmarkera en annan kryssruta när en kryssruta är markerad i Excel

  Kutools för Excel innehåller 300+ kraftfulla funktioner för Microsoft Excel. Gratis att prova utan begränsning på 30 dagar. Ladda ner nu!

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations