Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kontrollkästchenhaken setzen

Forumthread: Kontrollkästchenhaken setzen

Kontrollkästchenhaken setzen
25.01.2009 20:00:00
Werner
Guten Abend liebe Excelfans
Ich habe folgendes probiert:
Ich möchte sobald man das Dropdownmenue anwählt das dazugehörige Kontrollkästchen eine Haken bekommt. Bisher habe ich das manuell gemacht. Die Orginaldatei ist größer aber es geht ja um das wie.
Mit meinem Code klappt es nicht.

Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("$F$5:$H$5")) Is Nothing Then
ActiveSheet.Shapes("Check Box 1").Value = xlOn  'Haken setzen
End if
If Intersect(Target, Range("$F$8:$I$8")) Is Nothing Then
ActiveSheet.Shapes("Check Box 2").Value = xlOn  'Haken setzen
End if
If Intersect(Target, Range("$F$11:$G$11")) Is Nothing Then
ActiveSheet.Shapes("Check Box 3").Value = xlOn  'Haken setzen
End if
End 

Sub
Wer weiß eine Lösung?
https://www.herber.de/bbs/user/58784.xls
Danke im voraus
Werner Schmidt


		
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchenhaken setzen
25.01.2009 20:11:52
Gerd
Hallo Werner,
probier 's mal nach diesem Schema:
ActiveSheet.Shapes("Check Box 2").OLEFormat.Object.Value = 1
Gruß Gerd
AW: Kontrollkästchenhaken setzen
25.01.2009 20:14:00
Beverly
Hi Werner,

Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim chCheckBox As CheckBox
If Not Intersect(Target, Range("$F$5:$H$5")) Is Nothing Then
Set chCheckBox = ActiveSheet.CheckBoxes(1)
chCheckBox.Value = xlOn 'Haken setzen
ElseIf Not Intersect(Target, Range("$F$8:$I$8")) Is Nothing Then
Set chCheckBox = ActiveSheet.CheckBoxes(2)
chCheckBox.Value = xlOn 'Haken setzen
ElseIf Not Intersect(Target, Range("$F$11:$G$11")) Is Nothing Then
Set chCheckBox = ActiveSheet.CheckBoxes(3)
chCheckBox.Value = xlOn 'Haken setzen
End If
End Sub




Anzeige
AW: Kontrollkästchenhaken setzen
25.01.2009 20:31:00
Werner
Hallo
das ging aber schnell.
Vielen Dank Karin und Gerd.
Beide Methoden gingen sehr gut.
Ich habe es zwar nicht geschrieben aber beim Probieren ist mir augefallen wenn man das Dropdownmenue
löscht bleibt der Haken.
Habt ihr dafür eine Lösung?
Tschüs Werner Schmidt
so gehts
25.01.2009 20:26:29
Tino
Hallo,
versuche es mal so.
Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("$F$5:$H$5")) Is Nothing Then
    ActiveSheet.Shapes("Check Box 1").ControlFormat.Value = xlOn  'Haken setzen 
    End If
    If Not Intersect(Target, Range("$F$8:$I$8")) Is Nothing Then
    ActiveSheet.Shapes("Check Box 2").ControlFormat.Value = xlOn  'Haken setzen 
    End If
    If Not Intersect(Target, Range("$F$11:$G$11")) Is Nothing Then
    ActiveSheet.Shapes("Check Box 3").ControlFormat.Value = xlOn  'Haken setzen 
    End If

End Sub


Gruß Tino

Anzeige
AW: so gehts
25.01.2009 20:36:20
Werner
Hallo Tino
du weißt ja auf alles eine Antwort wenn man die letzten Wochen so verfolgt.
Deine Lösung funktioniert gut.
Hast du noch eine Lösung - siehe Antwort für Karin und Gerd?
Tschüs Werner
AW: so gehts
25.01.2009 20:56:00
Tino
Hallo,
nicht immer habe ich eine Antwort.
Verwende ein anderes Eventmakro.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zustand As Byte

If Target.Text <> "" Then Zustand = 1
   
    If Not Intersect(Target, Range("$F$5:$H$5")) Is Nothing Then
        ActiveSheet.Shapes("Check Box 1").ControlFormat.Value = Zustand  'Haken setzen 
    End If
    If Not Intersect(Target, Range("$F$8:$I$8")) Is Nothing Then
        ActiveSheet.Shapes("Check Box 2").ControlFormat.Value = Zustand  'Haken setzen 
    End If
    If Not Intersect(Target, Range("$F$11:$G$11")) Is Nothing Then
        ActiveSheet.Shapes("Check Box 3").ControlFormat.Value = Zustand  'Haken setzen 
    End If
 
End Sub


Gruß Tino

Anzeige
AW: so gehts
25.01.2009 21:08:35
Werner
Hallo Tino
heute bist du mein Held.
Hast mir echt weitergeholfen.
Besser gehts nicht
Tschüs Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Kontrollkästchenhaken setzen in Excel


Schritt-für-Schritt-Anleitung

Um Häkchen in Excel zu setzen, kannst du das folgende VBA-Skript verwenden. Dieses Skript wird aktiviert, sobald du eine Auswahl in einem bestimmten Bereich triffst. Hier ist ein einfaches Beispiel:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu und kopiere den folgenden Code hinein:
Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim chCheckBox As CheckBox
    If Not Intersect(Target, Range("$F$5:$H$5")) Is Nothing Then
        Set chCheckBox = ActiveSheet.CheckBoxes(1)
        chCheckBox.Value = xlOn ' Haken setzen
    ElseIf Not Intersect(Target, Range("$F$8:$I$8")) Is Nothing Then
        Set chCheckBox = ActiveSheet.CheckBoxes(2)
        chCheckBox.Value = xlOn ' Haken setzen
    ElseIf Not Intersect(Target, Range("$F$11:$G$11")) Is Nothing Then
        Set chCheckBox = ActiveSheet.CheckBoxes(3)
        chCheckBox.Value = xlOn ' Haken setzen
    End If
End Sub
  1. Schließe den VBA-Editor und teste das Skript, indem du die entsprechenden Zellen auswählst.

Häufige Fehler und Lösungen

  • Problem: Das Kontrollkästchen wird nicht aktiviert.

    • Lösung: Stelle sicher, dass die Namen der Kontrollkästchen korrekt sind. Du kannst die Namen in der Registerkarte "Entwicklertools" überprüfen.
  • Problem: Haken bleibt nach dem Löschen des Dropdowns erhalten.

    • Lösung: Du kannst ein zusätzliches Makro hinzufügen, das den Wert des Kontrollkästchens zurücksetzt, wenn das Dropdown gelöscht wird.

Alternative Methoden

Eine alternative Methode, um Häkchen in Excel zu setzen, ist die Verwendung von activesheet.checkboxes. Hier ist ein Beispiel:

Sub SetCheckBox()
    ActiveSheet.CheckBoxes("Check Box 1").Value = xlOn ' Haken setzen
End Sub

Diese Methode ist besonders nützlich, wenn du spezifische Kontrollkästchen direkt ansprechen möchtest.


Praktische Beispiele

Ein praktisches Beispiel für die Anwendung von Kontrollkästchen:

  1. Erstelle ein einfaches Formular in Excel mit mehreren Kontrollkästchen.
  2. Verwende die oben genannten VBA-Skripte, um die Häkchen zu setzen, wenn du in bestimmte Zellen klickst.
  3. Teste das Verhalten beim Löschen von Dropdowns und passe das Skript entsprechend an.

Tipps für Profis

  • Du kannst die ControlFormat-Eigenschaft verwenden, um die Werte von Kontrollkästchen festzulegen, was dir mehr Flexibilität bietet.
  • Erstelle benutzerdefinierte Funktionen, um die Logik für das Setzen von Häkchen zu erweitern.
  • Verwende das Worksheet_Change-Ereignis, um Häkchen basierend auf Zelleninhalten zu setzen.

FAQ: Häufige Fragen

1. Wie füge ich ein Häkchen in Excel ein?
Du kannst ein Häkchen über die Entwicklertools einfügen, indem du ein Kontrollkästchen aus der Formelauswahl wählst.

2. Was ist der Unterschied zwischen Shapes und CheckBoxes?
Shapes beziehen sich auf alle Formen in Excel, während CheckBoxes speziell auf die Kontrollkästchen abzielen.

3. Wie kann ich mehrere Häkchen gleichzeitig setzen?
Du kannst eine Schleife in deinem VBA-Code verwenden, um durch alle Kontrollkästchen zu iterieren und deren Werte zu setzen.

4. Funktioniert das auch in Excel 365?
Ja, alle oben genannten Methoden und Codes funktionieren in Excel 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige