Ich habe Kontrollkästchen in einer Excel-Tabelle in Zellen, die auch Werte (Daten) enthalten. Um zu vermeiden, dass Administratoren beim Klicken auf die Zelle versehentlich die Kontrollkästchen aktivieren, möchte ich das Kontrollkästchen so anpassen, dass ein Doppelklick zum Registrieren eines Häkchens erforderlich ist. Ich möchte das Arbeitsblatt nicht schützen, da mehrere Personen ständig Informationen bearbeiten. Irgendwelche Ideen? Wie schaffe ich Checkboxen nur bei Doppelklick?
0
A
Antwort
0
Bitte versuchen Sie es mit diesem System. Installieren Sie im Codeblatt des Arbeitsblatts, auf dem Sie die Kontrollkästchen haben.
Option Explicit
Dim ChkVal() As Boolean
Dim EnableChk As Boolean
Private Sub Worksheet_Activate()
' 27 Oct 2017
Dim Shp As Shape
Dim Sn As String
ReDim ChkVal(Me.Shapes.Count)
For Each Shp In Me.Shapes
With Shp
If .Type = 12 And InStr(1, .Name, "checkbox", vbTextCompare) = 1 Then
ChkVal(Val(Mid(.Name, 9))) = .OLEFormat.Object.Object.Value
End If
End With
Next Shp
End Sub
Private Sub CbxChange(Cbx As MSForms.CheckBox)
' 27 Oct 2017
Dim Id As Integer
On Error GoTo ErrHandler
With Cbx
Id = Val(Mid(.Name, 9))
If Not EnableChk Then
Do Until .Value = ChkVal(Id)
.Value = Not .Value
Loop
Else
ChkVal(Id) = .Value
End If
End With
EnableChk = False
Exit Sub
ErrHandler:
If Err = 9 Then
Worksheet_Activate
Resume 0
Else
MsgBox "A programming error interrupted this procedure.", _
vbInformation, "Unidentified error"
End If
End Sub
Private Sub CheckBox1_Click()
CbxChange CheckBox1
End Sub
Private Sub CheckBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
EnableChk = True
End Sub
Sie benötigen ein Paar Ereignisprozeduren wie die letzten beiden für jedes Kontrollkästchen auf Ihrem Blatt. Ich habe es schnell versucht.
- Wählen Sie die beiden Verfahren aus.
- Drücken Sie Strg + C
- Drücken Sie Strg + V zweimal kopiert werden (die erste überschreibt die vorhandene Auswahl, die zweite erstellt eine Kopie)
- Wählen Sie das kopierte Paar
- Bearbeiten -> Ersetzen Sie „1“ mit "2" -> OK VBA wird "Ausgewählter Text" automatisch prüfen. Ändere das nicht. Stellen Sie sicher, dass "Nur ganzes Wort finden" nicht geprüft ist. Es wird 3 Ersatz geben, und das ist alles.
Verwandte Themen
- 1. C# treeview ignorieren Doppelklick nur bei Checkbox
- 2. Wie schaffe ich Schwerkraft in Java GUI?
- 3. Wie überprüfe ich das Kontrollkästchen "Gitter" bei Doppelklick?
- 4. App minimieren bei Doppelklick (wie Home-Taste)
- 5. Javascript aktivieren Eingabe bei Doppelklick
- 6. Wie schränken Sie Checkboxen ein, bei denen der Benutzer nur 2 davon überprüfen kann?
- 7. Wie hake ich bei einem Doppelklick der Strg-Taste ein?
- 8. Wie ändere ich die Label-Eigenschaft eines QTabWidget bei Doppelklick?
- 9. Wie bekomme ich Koordinaten bei Doppelklick auf Openstreetmap?
- 10. OpenLayers: Zoomen bei Doppelklick deaktivieren
- 11. Warum schaffe ich Project Euler # 10?
- 12. Auto Doppelklick mit nur Javascript
- 13. In iPhone Radio und Kontrollkästchen Optionen funktionieren nur auf Doppelklick
- 14. Wie schaffe ich ein verschachteltes Wörterbuch, IOS - Objective C
- 15. Wie schaffe ich n geschachtelte for-Schleifen rekursiv?
- 16. Wie schaffe ich zwei Datenbanken mit MySQL Workbench?
- 17. Bokeh: JS Callback bei Doppelklick auf Kreis
- 18. Verabredung bei JQuery FullCalendar mit Doppelklick hinzufügen
- 19. Ich schaffe Spiel PHP und ich brauche Variable erhalten URL
- 20. jQuery: Schaffe es nicht gesetzt
- 21. So erhalten Sie Spaltenkopftext bei Doppelklick
- 22. tkinter Text Widget. Wählen Sie nur Buchstaben bei Doppelklick. wie Codierungsstil
- 23. Wie kann ich "Checkboxen" machen, die ihre Anzahl bei jedem Linksklick erhöhen und bei Rechtsklick abnehmen?
- 24. Meteor Clik Ereignis, Doppelklick; Verwenden nur JS
- 25. Pass nur Checkboxen für andere Sicht überprüft
- 26. Android - Probleme bei der Handhabung mehrerer CheckBoxen
- 27. Wie aktiviere ich Doppelklick im Action-Skript?
- 28. Wie öffne ich meine Dateien mit Doppelklick
- 29. Wie verhindert man die Auswahl von Text bei Doppelklick?
- 30. Wie Checkboxen in formtastic