Hur gör man bara en kryssruta som ska markeras i en grupp av kryssrutor i Excel?
Som nedanstående skärmdump visas, för en grupp av kryssrutor i rad 2, kommer de andra kryssrutorna att inaktiveras när du bara markerar eller markerar en kryssruta. Hur uppnår man det? VBA-koden i den här artikeln kan hjälpa dig.
Gör bara en kryssruta för att vara markerad med VBA-kod
Gör bara en kryssruta för att vara markerad med VBA-kod
Du kan köra nedanstående VBA-koder för att bara markera en kryssruta i en kryssrutagrupp per gång. Gör så här.
1. Först och främst, sätt i kryssrutorna efter behov. Här bör du infoga Kryssrutor för ActiveX-kontroll som följande skärmdump visas:
2. Tryck sedan på andra + F11-tangenter samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.
3. I öppningen Microsoft Visual Basic för applikationer fönstret klickar Insert > Klassmodul.
4. Ändra klassnamnet till ClsChk i (Namn) rutan med Fastigheter och sedan kopiera och klistra in nedanstående VBA-kod i motsvarande Koda fönster. Se skärmdump:
VBA-kod 1: Markera bara en kryssruta per gång
Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub
Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Value = False
xObj.Object.Enabled = False
End If
Next
Else
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Enabled = True
End If
Next
End If
End Sub
5. Klicka nu Insert > Modulerna, kopiera och klistra in nedanstående VBA-kod i Modulerna fönster.
VBA-kod 2: Markera bara en kryssruta per gång
Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
Set xSht = ActiveSheet
Set xCollection = Nothing
For Each xObj In xSht.OLEObjects
If xObj.Name Like "CheckBox**" Then
Set xChk = New ClsChk
Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
xCollection.Add xChk
End If
Next
Set xChk = Nothing
End Sub
6. tryck på F5 för att köra koden.
Från och med nu, när du markerar någon av kryssrutorna i kalkylbladet, kommer de andra kryssrutorna att inaktiveras automatiskt och du kan avmarkera den för att aktivera alla kryssrutor igen.
Anmärkningar: Om ny kryssruta läggs till i kryssrutan, vänligen kör om VBA-koden för att aktivera alla kryssrutor igen. Att ta bort kryssrutan från kryssrutan måste också köra om koden.
Rupphetsade artiklar:
- Hur filtrerar jag data baserat på kryssrutan i Excel?
- Hur döljer jag kryssrutan när raden är dold i Excel?
- Hur markerar jag cell eller rad med kryssrutan i Excel?
- Hur skapar jag en listruta med flera kryssrutor i Excel?
- Hur infogar jag datumstämpel i en cell om det är markerat i kryssrutan i Excel?
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.

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!














