Ich erstelle ein VBA-Makro, um alle Kontrollkästchen in einem Blatt auszuwählen, und es funktioniert gut, aber jetzt möchte ich meinen Code zu aktivieren und deaktivieren Sie nur die Kontrollkästchen in einem bestimmten Bereich .Aktivieren/Deaktivieren aller CheckBoxen in einem Bereich EXCEL VBA Makro
Hier ist mein Code.
Sub Select_all()
Dim Cbox As CheckBox
Dim Rng As Range
Set Rng = ActiveWorkbook.Sheets("Sheet4").Range("B7, B104")
For Each Cbox In ActiveSheet.CheckBoxes
If Not Intersect(Cbox.TopLeftCell, Rng) Is Nothing Then
If Cbox.name <> ActiveSheet.CheckBoxes("Check Box 104").name Then
Cbox.Value = ActiveSheet.CheckBoxes("Check Box 104").Value
End If
End If
Next Cbox
End Sub
Ich habe
If Not Intersect (Cbox.TopLeftCell, RNG) ist nichts
aber es ändert nichts, und wenn ich diesen Teil entfernen, dann wählt alle Checkboxen im Blatt und ich brauche nur für den Bereich ("B7: B104")
Irgendwelche Vorschläge bitte? Vielen Dank.
Warum haben Sie den Bereich definiert als 'Range (" B7, B104 ")'? Das heißt, es sind nur zwei Zellen, B7 und B104, nicht der Bereich der Zellen B7: B104. Und dann, genau unter deinem Code legst du die richtige Definition von 'Range (" B7: B104 ")' fest, also wechsle einfach dazu. – tigeravatar
Sind sie ActiveX-Kontrollkästchen oder Formularkontrollfelder? –
@tigeravatar Ich habe das gleiche getan wie du, ich habe den Code einfach aus Versehen eingefügt. – JuniorDev