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

Forumthread: Bei ankreuzen (Kästchen) Zellen grün färben

Bei ankreuzen (Kästchen) Zellen grün färben
Arthur
Hallo zusammen
Ich habe für jede Zeile ein Kästchen zum Ankreuzen eingefügt in der Spalte A. Ist es möglich die Zellen A2 bis und mit A5 grün zu färben, wenn das Kästchen bei A1 angekreuzt wurde.
Dann dann für alle anderen Zeilen ebenfalls. Ohne Kästchen ist das eine Bedingte Formatierung, aber geht es auch mit Kästchen?
Vielen Dank für eure wertvolle Hilfe!
Arthur
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 21:32:56
Hajo_Zi
Hallo Arzhur,
weise dem Kästenchen ein Makro zu das dies macht.

AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 21:52:10
Arthur
Danke vielmals. Aber ich kenne mich mit makros leider nicht aus.
Kann mir dies jemand schreiben?
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 21:58:18
Hajo_Zi
Hallo Arthur,
Option Explicit
Sub A1faerben()
If Range("A2").Interior.ColorIndex = xlNone Then
Range("a2:a5").Interior.Color = 65280
End If
End Sub
Gruß Hajo
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 22:26:38
Arthur
Danke vielmals Hajo
Ich habe mit meinen bescheidenen Macrokenntnissen das Makro eingefügt, noch ein bisschen abgeändert und dem Häcken zugewiesen. Es passt alles, ausser wenn ich wieder das Häcken klicke, bleibt es natürlich grün. Wie mache ich das wenn es angekreuzt grün ist und wenn nicht gelb?
Option Explicit
Sub A1faerben()
If Range("A2").Interior.ColorIndex = xlNone Then
Range("a5:n5").Interior.Color = 6723891
End If
End Sub

Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 22:48:09
Reinhard
Hallo Arthur,
Sub A1faerben()
Range("a5:n5").Interior.Color = _
IIf(Range("A2").Interior.ColorIndex  xlNone, xlNone, 6723891)
End Sub

Gruß
Reinhard
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 22:54:34
Arthur

Sub A1faerben()
Range("a5:n5").Interior.Color = _
IIf(Range("A2").Interior.ColorIndex  xlNone, xlNone, 6723891)
End Sub
Vielen Dank Reinhard
Aber irgendwie geht das so nicht, wenn ich ankreuze wirds grün, wenn ich das Kreuz wegmache ist es immer noch grün.
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 23:20:58
Reinhard
Hallo Arthur,
Sub A1faerben()
Range("a5:n5").Interior.Color = _
IIf(Range("A5").Interior.ColorIndex  xlNone, xlNone, 6723891)
End Sub

Gruß
Reinhard
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 23:28:04
Arthur
Hallo Reinhard
Jetzt geht gar nichts mehr. Schau ich habe dir die Datei hochgeladen.
Probiert habe ich es beim Kästchen J5
https://www.herber.de/bbs/user/79088.xls
Vielen Dank für deine Hilfe!!
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
24.02.2012 23:55:42
Reinhard
Hallo Arthur,
Sub A1faerben()
Dim Zei As Long
With ActiveSheet.Shapes(Application.Caller)
Zei = .TopLeftCell.Offset(1, 0).Row
Range("A" & Zei & ":N" & Zei).Interior.Color = _
IIf(.ControlFormat.Value  1, xlNone, 6723891)
End With
End Sub

Gruß
Reinhard
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
26.02.2012 23:32:54
Peter
Hallo Arthur,
das Häkchen-Steuerelement solltest du mit "Steuerelement formatieren" auf (z.B.) die Zelle "o5" zuordnen und gleichzeitig den "Makro1" zuweisen. Hier der Makro1:
Sub Makro1()
If Range("o5") = True Then
Range("a5:n5").Select
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Else
Range("a5:n5").Select
With Selection.Interior
.ColorIndex = xlNone
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Range("a5").Select
End If
End Sub

Bei gesetztem Häkchen wird die Zeile 5 grün, macht man das Häkchen raus, wird die Zeile entfärbt. Evtl. in den Makro andere Farben einsetzen.
M.f.G. Peter Kloßek
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 14:47:39
Arthur
Vielen Dank Reinhard und Peter
Es funktioniert jetzt mit eurer Hilfe! Was ich noch ändern möchte:
Das Häkchen ist in J5, wenn ich das jetzt ankreuze oder nicht ankreuze steht in der Zelle J5 im Hintergrund (hinter dem Häken: false oder true
1. Wie kann ich das ausblenden?
2. Wenn ich ankreuze wird A5:N5 grün, was ja auch gut ist, aber es markiert zugleich diese Zellen, das will ich nicht. Wenn es nicht angekreuzt ist, ist A5:N5 gelb, was ja auch gut ist und A5 ist "markiert".
Vielen Dank für eure Hilfe!
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 14:59:19
Rudi
Hallo,
1. Zellformat benutzerdefiniert ;;;
2.
Sub Makro1()
With Range("a5:n5")
With .Interior
If Range("O5") = True Then
.ColorIndex = 43
Else
.ColorIndex = xlNone
End If
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
.Cells(1).Select
End With
End Sub

Gruß
Rudi
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 15:10:28
Arthur
Perfekt, hat beides geklappt, vielen Dank!!
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 14:59:50
Arthur
Jetzt habe ich aber nochmal ein anderes Problem:
Ich habe ja nicht nur die Zeile 5, sonder Zeile 5 bis 427, für jede Zeile muss ein Häcken und der Mechanismus - grün - gelb verfügbar sein.
Wie mache ich das?
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 15:08:21
Rudi
Hallo,
warum machst du nicht einfach ein X in die Zellen und arbeitest mit bedingter Formatierung?
Gruß
Rudi
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 15:13:39
Arthur
Das hab ich ja schon bei meinem 1. Post geschrieben, man könnte es mit x und bedingter Formatierung machen, aber ich möchte es mit den Häkchen. Damit ich auch was lerne und es später mit Häkchen selber erstellen kann.
Das ist jetzt das Makro das wunderbar funktioniert für die Zeile 5:
Sub Makro1()
With Range("a5:n5")
With .Interior
If Range("J5") = True Then
.ColorIndex = 4
Else
.ColorIndex = 3
End If
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
.Cells(1).Select
End With
End Sub
Wie kann ich dies jetzt am besten für weitere Zeilen anwenden mit möglichst wenig Aufwand?
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 16:04:21
Rudi
Hallo,
allen Kästchen dieses Makro zuweisen:
Sub Faerben()
Dim oObj As Object, lngRow As Long
Set oObj = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object
lngRow = Range(oObj.LinkedCell).Row
With Range(Cells(lngRow, 1), Cells(lngRow, 14))
With .Interior
If oObj = 1 Then
.ColorIndex = 4
Else
.ColorIndex = 3
End If
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
.Cells(1).Select
End With
End Sub

Die Zellverknüpfung muss natürlich stimmen.
Gruß
Rudi
Anzeige
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 16:15:32
Arthur
Danke vielmals Rudi
Das heisst ich muss bei jedem Häkchen (427) die Zellverknüpfung einzeln zuweisen und auch dann das Makro zuweisen? Einfacher gehts wohl leider nicht?
AW: Bei ankreuzen (Kästchen) Zellen grün färben
27.02.2012 16:33:24
Arthur
Hallo Rudi
Ich habe es rausgefunden wie (im Internet gefunden):
Sub Zelle()
Dim S As Shape
For Each S In ActiveSheet.Shapes
If S.Name Like "Scroll Bar*" Or S.Name Like "Check Box*" Then
S.ControlFormat.LinkedCell = S.TopLeftCell.Address
End If
Next S
End Sub

Es wird wirklich an der Zeit, dass ich mir irgendwie VBA Kenntnisse aneigne!
Jetzt klappt alles, vielen Dank an Alle!
Anzeige
S.TopLeftCell
28.02.2012 09:19:58
Rudi
Hallo,
die liegt in deiner Bsp-Datei aber eine Zeile höher. Kästchen für Z5 hat die obere linke Ecke in Zeile 4!
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen grün färben bei Ankreuzen von Kontrollkästchen in Excel


Schritt-für-Schritt-Anleitung

  1. Kontrollkästchen einfügen:

    • Gehe zu Entwicklertools > Einfügen > Kontrollkästchen (Formularsteuerelement).
    • Füge ein Kästchen in die Zelle ein, z.B. in J5.
  2. Makro erstellen:

    • Öffne den VBA-Editor durch Drücken von ALT + F11.
    • Füge ein neues Modul hinzu: Rechtsklick auf VBAProject, dann Einfügen > Modul.
  3. Makro-Code für das Färben der Zellen:

    • Kopiere und füge den folgenden Code in das Modul ein:
      Sub Makro1()
       With Range("A5:N5")
           If Range("J5") = True Then
               .Interior.ColorIndex = 4 ' Grün
           Else
               .Interior.ColorIndex = 3 ' Gelb
           End If
       End With
      End Sub
  4. Makro zuweisen:

    • Klicke mit der rechten Maustaste auf das Kontrollkästchen und wähle Steuerelement formatieren.
    • Im Tab Steuerung wähle das Makro Makro1 aus.
  5. Testen:

    • Klicke das Kontrollkästchen an, um die Farbe der Zellen A5:N5 zu ändern.

Häufige Fehler und Lösungen

  • Problem: Zellen bleiben grün, auch wenn das Kästchen nicht angekreuzt ist.

    • Lösung: Stelle sicher, dass die Zellverknüpfung korrekt ist und der Code überprüft, ob das Kästchen aktiviert ist.
  • Problem: Häkchen zeigt TRUE oder FALSE in der Zelle an.

    • Lösung: Verwende benutzerdefinierte Zellformate ;;;, um den Text auszublenden.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, kannst du auch die bedingte Formatierung nutzen:

  1. Wähle die Zellen A5:N5 aus.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib die Formel ein: =J5=TRUE.
  5. Setze die Formatierung auf grün.
  6. Füge eine zweite Regel hinzu für =J5=FALSE und setze die Formatierung auf gelb.

Praktische Beispiele

  1. Kästchen für mehrere Zeilen:

    • Du kannst das Makro anpassen, um mit einer Schleife zu arbeiten, sodass es für mehrere Zeilen funktioniert.
      Sub Faerben()
       Dim oObj As Object, lngRow As Long
       Set oObj = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object
       lngRow = Range(oObj.LinkedCell).Row
       With Range(Cells(lngRow, 1), Cells(lngRow, 14))
           With .Interior
               If oObj.Value = 1 Then
                   .ColorIndex = 4 ' Grün
               Else
                   .ColorIndex = 3 ' Gelb
               End If
           End With
       End With
      End Sub
  2. Verknüpfung der Kästchen mit Zellen:

    • Verwende S.TopLeftCell.Address, um die Zellen für die Kästchen dynamisch zu verknüpfen.

Tipps für Profis

  • Zellverknüpfungen automatisieren: Nutze eine Schleife, um die Zellverknüpfungen für alle Kästchen schnell zu erstellen.
  • Versteckter Text: Du kannst den Hintergrund der Zelle so einstellen, dass Wahrheitswerte nicht sichtbar sind, um die Benutzeroberfläche sauber zu halten.
  • Farbwahl: Experimentiere mit verschiedenen ColorIndex-Werten für unterschiedliche Farben.

FAQ: Häufige Fragen

1. Wie kann ich das Kästchen so formatieren, dass es in einer bestimmten Farbe erscheint?
Du kannst die Eigenschaften des Kontrollkästchens über das Menü Steuerelement formatieren anpassen.

2. Wie kann ich die Formatierung für mehrere Zeilen gleichzeitig anwenden?
Verwende eine Schleife im VBA-Code, um die Formatierung für alle gewünschten Zeilen gleichzeitig anzuwenden.

3. Kann ich auch andere Steuerelemente verwenden?
Ja, du kannst auch andere Steuerelemente wie Optionsfelder oder Kombinationsfelder verwenden, um ähnliche Effekte zu erzielen.

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