Note: The other languages of the website are Google-translated. Back to English

Hvordan fjerner man markeringen af ​​et andet afkrydsningsfelt, når et afkrydsningsfelt er markeret i Excel?

Som vist i gif'en nedenfor, antag, at der er en købsliste, der skal færdiggøres af dig. Mens du tjekker listen, opdager du, at de afkrydsede varer i nogle kategorier er over budgettet og skal genvælges. Da listen er for lang, har du nu brug for en mere effektiv måde til automatisk at fjerne markeringen af ​​det oprindelige afkrydsningsfelt, når et nyt afkrydsningsfelt er markeret i en kategori. Denne tutorial demonstrerer metoden trin-for-trin for at hjælpe dig med at få det gjort.

Fjern markeringen i et andet afkrydsningsfelt, når et nyt afkrydsningsfelt er markeret med VBA-kode


Fjern markeringen i et andet afkrydsningsfelt, når et nyt afkrydsningsfelt er markeret med VBA-kode

Som vist i ovenstående demo, er ti afkrydsningsfelter navngivet Afkrydsningsfelt 1, Afkrydsningsfelt 2, Afkrydsningsfelt 3, ..., Afkrydsningsfelt 10 er opdelt i 3 grupper og placeret i forskellige kategorier i tabellen.

I dette eksempel er Checkbox1, 2, 3 i én gruppe, Checkbox4, 5, 6, 7 er i én gruppe, og Checkbox8, 9,10 er i samme gruppe. I hver gruppe er det kun tilladt at markere ét afkrydsningsfelt ad gangen. Når et afkrydsningsfelt er markeret, fjernes et andet afkrydsningsfelt automatisk.

Lad os nu se, hvordan du anvender følgende VBA-kode for at løse dette problem.

1. Højreklik på arkfanen, og klik Vis kode fra kontekstmenuen.

2. I åbnet Microsoft Visual Basic til applikationer vindue , indsæt følgende VBA-kode i Ark (kode) vindue.

VBA-kode: Fjern markeringen i et andet afkrydsningsfelt, når et nyt afkrydsningsfelt er markeret

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

Noter:

1) I koden, Afkrydsningsfelt1, Afkrydsningsfelt2, ..., Afkrydsningsfelt 10 er navnet på afkrydsningsfelterne;
2) I den følgende linje tilhører afkrydsningsfelterne i dobbelte anførselstegn den samme gruppe, og hvert afkrydsningsfelt er adskilt af et komma. For at tilføje flere afkrydsningsfeltsgrupper skal du omsætte afkrydsningsfelterne i nye dobbelte anførselstegn.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Afkrydsningsfelterne er ActiveX Control afkrydsningsfelter.

3. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.

Når du derefter markerer et nyt afkrydsningsfelt i en gruppe, vil det oprindelige afkrydsede afkrydsningsfelt automatisk blive fjernet som vist i gif-en nedenfor.


Demo: Fjern markeringen i et andet afkrydsningsfelt, når et afkrydsningsfelt er markeret i Excel

  Kutools til Excel indeholder mere end 300 kraftfulde funktioner til Microsoft Excel. Gratis at prøve uden begrænsning 30 dage. Download nu!


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (0)
Ingen vurderinger endnu. Vær den første til at bedømme!
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL