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:
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 i 30 dage. Download nu!
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
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!