Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Farbe einer Zahl zuordnen





Frage

Hallo zusammen, kenne mich mit Excel nicht soo gut aus und habe folgendes Problem: Ich arbeite in einem Restaurant und habe eine Excel Tabelle angelegt in der ich monatlich die ausgegebenen Essen in einer Spalte für Mittags und abends eintrage. Jetzt möchte ich folgendes erreichen. Die starken Tage der Woche sollen automatisch rot, die schwachen Tage gelb markiert werden. Bsp: 0 bis 30 Essen = gelb / 50 bis 80 ist blau über 120 ist rot, sodass man auf einen >Blick rausfinden kann welche Tage gut oder welche Tage schlecht laufen und ob das wechselt oder auch nicht. Bsp: Montags überwiegend schlecht weil gelb / Samstags überwiegend gut weil rot. Die einzelnen Monate möchte ich dann später in eine Jahrestabelle übertragen, damit man dann im nächsten Jahr eine Richtung hat was in etwar an den einzelnen Tagen zu erwachten ist. Geht sowas überhaupt, und wenn wie? wäre nett wenn mir jemand helfen könnte Grüße Jürgen

Antwort 1 von Jürrgen

Nach oben, weil so ein Spezi mit seiner DNS Server Frage gleich die ersten 4 Plätze blockiert

sorry

Antwort 2 von Guenter

Hallo,

das Einfärben der Zellen je nach Zahl kannst Du mit der Bedingten Formatierung erledigen:
Format -> Bedingte Formatierung
Zellwert ist zwischen, dann Format auswählen.

Gruß
GÜnter

Antwort 3 von MoRe99

Klar geht das, was du vor hast, nämlich über bedingte Formatierungen. Vorab aber ein Tipp: wähle deine Grenzen so, dass keine Lücke auftreten. Z. B. "unter 30", "30 bis 70", "71 bis 120", "über 120". Mit bedingten Formatierungen kannst du bis zu drei Bedingungen festlegen.

Zum Vorgehen: du markierst die erste Zelle, die du mit der bedingten Formatierung versehen willst. Dann gehst du über "Format" -> "Bedingte Formatierung" und wählst die erste Bedingung aus: "Zellwert ist kleiner 30" und wählst dafür über "Format..." -> Registerkarte "Muster" die Farbe gelb aus. Dann über "Hinzufügen >>" die nächste Bedingung "Zellwert ist zwischen 71 und 120" mit "Format..." dann die Farbe blau zuordnen. Dann wieder auf "Hinzufügen >>" und für "Zellwert ist größer 120" dann die Farbe rot zuordnen.

Ergebnis

Alle Zahlen, die in diese Zelle eingetragen werden, werden wie folgt dargestellt:

Zahlen von 1 - 29: gelber Hintergrund
Zahlen von 30 - 70: normal, also weißer Hintergund
Zahlen von 71 - 120: blauer Hintergund
Zahlen über 120: roter Hintergrund

Nun noch die bedingte Formatierung nach unten ausfüllen für alle Zellen, in denen sie gelten soll, und schon hast du deine Übersicht.

Alles klar oder etwas unverständlich formuliert?

Antwort 4 von Pepsi

Format > Bdingte Formatierung > Zellwert ist > zwischen > 0 > 30 > Format > auswählen...

Antwort 5 von MoRe99

Zum Übertragen der Daten auf eine Jahresübersicht:

Klicke in die Zelle der Jahresübersicht, in die z. B. die Zahl der verkauften Essen des 1. Januars sollen. Dort dann die bedingten Formatierungen analog zu oben erstellen. Dann in die Zelle das Gleichheitszeichen eintippen, mit der Maus das Tabellenblatt für Januar anklicken und dort dann die Zelle, in der der Wert für den 1. Januar eingetragen wird, anklicken. Dann die "Enter"-Taste drücken und du hast erreicht, dass in der Jahresübersicht die Zahl steht, die im Januarblatt für den 1. Januar eingetragen wurde.

Antwort 6 von coros

Hi Jürgen,

das kann man auf jeden Fall mit der bedingten Formtierung erledigen. Schaue dazu mal in die Hilfe von Excel. Eine andere Lösung wäre das über VBA zu lösen. Hierzu nachfolgenden Code in das VBA Projekt Deiner Tabelle kopieren.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub 'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
  Select Case Target
    Case 1 To 30
      Cells(Target.Row, Target.Column).Interior.ColorIndex = 6
    Case 50 To 80
      Cells(Target.Row, Target.Column).Interior.ColorIndex = 41
    Case Is > 81
      Cells(Target.Row, Target.Column).Interior.ColorIndex = 3
    Case Else
      Target.Interior.ColorIndex = 0
  End Select

End Sub


Mit diesem Code werden die Zellenfarben entsprechend den eingetragenen Zahlen geändert. Also bei 1 - 30 in gelb, bei 50 - 80 in blau und danach in rot. Dabei ist es Egal, wo die Zahlen in der Tabelle eingetragen werden, sprich nicht nur in einem bestimmten Bereich.

Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)

4. Klicke danach in dem linken Fenster auf den Eintrag Tabelle1(Dein Tabellenname) oder Tabelle2(Dein Tabellenname),bzw die Tabelle, in dem der Code wirken soll.

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.

Ich habe Dir zusätzlich noch eine Beispieldatei ins Netz gestellt. Lade diese einfach
hier
runter.

Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 7 von HoBra

Hi coros,
Deine Lösung ist eine gute Möglichkeit die leidige Begrenzung auf 3 der "Bedingte Formatierung" zu umgehen, aber leider werden auch Texte und Datums ROT.
Gib es eine Möglichkeit das Einfärben auf Zahlen zu begrenzen?

Gruß HoBra

Antwort 8 von coros

Hi HoBra,

gut, dass Du das entdeckt hast. Habe den Fehler abgestellt und die Datei ist wieder
hier
ins Netz gestellt. Problem war, das bei der vorletzten Case-Anweisung bei allem was größer 81 ist der Zellenhintergrund gefärbt wurde. Das sollte man eingerenzen, was in der neuen Datei erledigt ist.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 9 von nighty

hi alle :)

reagiert wie auch bei coros auf zellenwechsel,nur zahlen werden abgearbeitet.

gruss nighty

einzufuegen alt f11(vbeditor)/projektexplorer/DeineTabelle

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

rem 1-30 wird rot

If IsNumeric(Cells(Target.Row, Target.Column)) = True And Target.Value > 0 And Target.Value < 31 Then
Cells(Target.Row, Target.Column).Interior.ColorIndex = 3
End If

rem 50-80 wird gelb

If IsNumeric(Cells(Target.Row, Target.Column)) = True And Target.Value > 49 And Target.Value < 81 Then
Cells(Target.Row, Target.Column).Interior.ColorIndex = 4
End If

rem ab 120 wird blau

If IsNumeric(Cells(Target.Row, Target.Column)) = True And Target.Value > 120 Then
Cells(Target.Row, Target.Column).Interior.ColorIndex = 6
End If

rem bei 0 schwarz/weiss kariert :)

If IsNumeric(Cells(Target.Row, Target.Column)) = True And Target.Value = 0 Then
With Cells(Target.Row, Target.Column).Interior
.ColorIndex = 0
.Pattern = xlGray16
.PatternColorIndex = xlAutomatic
End With
End If
Application.EnableEvents = True
End Sub




Antwort 10 von Jürrrgen

Hallo und Danke an Alle die Lösungsvorschläge gemacht haben, habt mir sehr geholfen, werde das jetzt mal alles ausprobieren

sonnige Grüße von Jürgen

Antwort 11 von coros

Moin Jürgen,

das ist ja wunderbar, dass Du jetzt wunschlos glücklich bist. Danke auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: