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

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änsningar 30 dagar. Ladda ner nu!


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (0)
Inga betyg än. Bli först med att betygsätta!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL