Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Checkbox soll Farbe ändern wenn hacken

Checkbox soll Farbe ändern wenn hacken
22.03.2019 07:57:30
MaBlu
Ich habe ein problem, ich habe 2 Checkboxen zum anhacken Retour und verschrotten
damit man sich mehr achtet möchte ich dass wenn eines angehackt ist die Farbe wechselt damit man deutlich sieht
welches gemneint ist, aber das krieg ich nicht hin, kann mir da jemand helfen!
Ich habe gesucht aber leider nur wenig gefunden und das geht so nicht.
Kontrollkästchen CheckBox1 aus Stuerelemt soll Hintergrundfarbe ändern wenn angehackt!
Das habe ich gefunden das wechselt die Farbe aber wenn ich den hacken rausnehme bleibt die Farbe!
Option Explicit
Private Sub CheckBox1_Click()
CheckBox1.BackColor = &HFF&
CheckBox2.BackColor = &H8000000F
End Sub

Private Sub CheckBox2_Click()
CheckBox1.BackColor = &H8000000F
CheckBox2.BackColor = &HFF&
End Sub

Private Sub CheckBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
CheckBox1.BackColor = &H8000000F
End Sub
Private Sub CheckBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
CheckBox2.BackColor = &H8000000F
End Sub
Ich nehme an dass das Kontrollkästchen aus dem Formualarsteuerelemnt geht das nicht?
Frage wie ist das richtige Makro zu schreiben?
Für eure Hilfe besten dank.
MaBlu
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox soll Farbe ändern wenn Haken
22.03.2019 08:32:30
Nepumuk
Hallo,
hacken kannst du Holz in einer Checkbox machst du einen Haken :-)
So ok?
Option Explicit

Private Sub CheckBox1_Change()
    If CheckBox1.Value Then
        CheckBox1.BackColor = &HFF&
        CheckBox2.Value = False
    Else
        CheckBox1.BackColor = &H8000000F
    End If
End Sub

Private Sub CheckBox2_Change()
    If CheckBox2.Value Then
        CheckBox2.BackColor = &HFF&
        CheckBox1.Value = False
    Else
        CheckBox2.BackColor = &H8000000F
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Checkbox soll Farbe ändern wenn Haken
22.03.2019 11:45:28
MaBlu
Hallo Nepumuk
das Funktioniert und wieder was gelernt :) besten Dank
MaBlu
AW: Checkbox soll Farbe ändern wenn hacken
22.03.2019 09:41:31
Daniel
Hi
da ich mal davon ausgehe, dass es nicht sinnvoll ist beides gleichzeitig auswählen, würde ich dir empfehlen, eine Listbox zu verwenden.
Da bekommst du das Einfärben des gewählten Eintrags automatisch mit dazu, ohne dass du was programmieren musst.
Gruß Daniel
Anzeige
AW: Checkbox soll Farbe ändern wenn hacken
22.03.2019 11:43:45
MaBlu
Hallo Daniel
deine Bemerkungen sind wohl richtig, aber ich verstehe nicht genau was du meinst, in den Steuerelemten finde ich keine Listbox meinst du ein Kombinationsfeld?
Ein einfaches Beispiel könnte mir helfen...
Sorry für mein nicht Wissen besten Dank.
MaBlu
AW: Checkbox soll Farbe ändern wenn hacken
22.03.2019 12:08:27
Daniel
im Menü heißt das "Listenfeld"
"Kombinationsfeld" kannst du auch nehmen.
bei einem Kombinationsfeld sieht man dauerhaft nur die ausgewählte Option.
die wählbaren Optionen erscheinen nur bei Bedarf (also dann wenn man was auswählen will) in einer Klappliste. (Kombinationsfelder sind dann hilfreich, wenn der Platz knapp bemessen ist)
Gruß Daniel
Anzeige
AW: Checkbox soll Farbe ändern wenn hacken
22.03.2019 13:24:54
MaBlu
Ok hab's verstanden besten Dank
Gruss MaBlu
PS: bei Nepumuks Antwort ist aber auch immer nur 1 Variante möglich.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Checkbox-Farbe ändern bei Aktivierung in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.
  2. Füge Kontrollkästchen zu deinem Arbeitsblatt hinzu:
    • Gehe auf das Menü „Entwicklertools“.
    • Wähle „Einfügen“ und klicke auf „Kontrollkästchen (Formularsteuerelement)“.
    • Zeichne zwei Kontrollkästchen auf dein Arbeitsblatt.
  3. Öffne den VBA-Editor:
    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge den folgenden Code ein:

    Private Sub CheckBox1_Change()
       If CheckBox1.Value Then
           CheckBox1.BackColor = &HFF&
           CheckBox2.Value = False
       Else
           CheckBox1.BackColor = &H8000000F
       End If
    End Sub
    
    Private Sub CheckBox2_Change()
       If CheckBox2.Value Then
           CheckBox2.BackColor = &HFF&
           CheckBox1.Value = False
       Else
           CheckBox2.BackColor = &H8000000F
       End If
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Arbeitsblatt.
  6. Teste die Kontrollkästchen: Wenn du ein Kontrollkästchen aktivierst, sollte sich die Farbe ändern; wenn es deaktiviert wird, sollte die Farbe zurückgesetzt werden.

Häufige Fehler und Lösungen

  • Farbe bleibt unverändert, wenn Haken entfernt: Stelle sicher, dass du die Else-Bedingung im Code korrekt definiert hast, um die Farbe zurückzusetzen.
  • Makros funktionieren nicht: Überprüfe, ob Makros in deiner Excel-Anwendung aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ und aktiviere die Makros.

Alternative Methoden

  • Verwendung von bedingter Formatierung: Du kannst auch die bedingte Formatierung in Excel nutzen, um die Farbe von Zellen abhängig von den Werten der Kontrollkästchen zu ändern. Wähle die Zelle aus und gehe zu „Bedingte Formatierung“ > „Regel erstellen“ und definiere die Bedingungen.

  • Listbox als Alternative: Wenn du nur eine Auswahl haben möchtest, kannst du auch ein Listenfeld verwenden. Bei Auswahl eines Eintrags wird die Farbe automatisch geändert.


Praktische Beispiele

  • Beispiel 1: Wenn du ein Kontrollkästchen für „Retour“ und eines für „Verschrotten“ hast, kannst du die Farben für diese Optionen in grün und rot ändern.

    If CheckBox1.Value Then
      CheckBox1.BackColor = &H00FF00 'Grün
    Else
      CheckBox1.BackColor = &H8000000F 'Standardfarbe
    End If
  • Beispiel 2: Wenn du mehrere Kontrollkästchen hast und die gesamte Zeile grün einfärben möchtest, wenn eines aktiviert ist, kannst du die Zellfarbe in der entsprechenden Zeile ändern.


Tipps für Profis

  • Erstelle eigene Farbpaletten: Du kannst die Farbwerte in VBA anpassen, um verschiedene Farben für verschiedene Kontrollkästchen zu verwenden.
  • Schreibe sauberen Code: Halte deine VBA-Codes übersichtlich und kommentiere sie, um spätere Anpassungen zu erleichtern.
  • Nutze die Entwurfansicht: In der Entwurfansicht kannst du die Eigenschaften der Kontrollkästchen anpassen, bevor du den Code hinzufügst.

FAQ: Häufige Fragen

1. Wie kann ich die Farbe ändern, wenn das Kontrollkästchen aktiviert ist? Du kannst die BackColor-Eigenschaft des Kontrollkästchens in deinem VBA-Code ändern, wenn der Wert True ist.

2. Funktioniert das auch in anderen Microsoft-Programmen wie Word oder PowerPoint? Ja, ähnliche Ansätze können auch in Word und PowerPoint angewendet werden, um die Farbe von Kontrollkästchen entsprechend zu ändern, allerdings mit leicht unterschiedlichen VBA-Syntaxen.

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