Bedingte Formatierung zum x-ten mal
Hi,
zum x-ten mal Bedingte Formatierung.
Da ich im Forum nix gefunden hab was ich versteh bzw gebrauchen kann muss ich selber nachfragen.
Also im endeffekt brauch ich 6 Formatierungen. Ich habe eine Tabelle mit allen Tagen im monat darin werden die verschiedenen Abteilungen aufgeführt in die Anrufe die sie bearbeitet haben.
Nun zur Formatierung:
1. Alle Sonntage sollen grau werden
2. Alle Samstage sollen grau werden
3.Alle Feiertage sollen grau werden
4. Wenn der eingegebene Wert <75 ist dann soll der Zellhintergrund rot werden
5.Wenn der eingegeben Wert >75 aber <80 soll der Zellhintergrund gelb werden
6. Wenn der eingegebene Wert >80 ist dann soll der Zellhintergrund grün werden.
Danke
Gruß
Quad
*Threadedit* 13:47:12, 09.09.2008
Admininfo: Führ bitte einen Thread nicht fort indem du Weitere eröffnest, und vermeide Mehrfachanfragen. Die Datenbank und User werden es dir danken. Siehe FAQ 2, #3.
Antwort schreiben
Antwort 1 von Saarbauer vom 03.09.2020, 13:55 Options
Hallo,
da im Normalfall 3 "Bedingte Formatierungen" nur machbar sind wird es wohl schwierig.
1. "Bedingte Formatierung" wäre für Wochenende so zu machen (in A1 steht das Datum)
=Wochentag( A1;2)> 5 dann grau
2. "Bedingte Formatierung" wäre für < 75 so zu machen
=X1< 75 dann rot
3. "Bedingte Formatierung" wäre für > 80 so zu machen
=X1 > 80 dann grün
oder
3. "Bedingte Formatierung" wäre für < 80 so zu machen
=X1 < 80 dann gelb
Mehr geht so nicht, rest nur mit VBA
Gruß
Helmut
Antwort 2 von coros vom 03.09.2020, 13:56 Options
Hallo Quad,
hier wäre es sinnvoll gewesen, die Excelversion mit aufzuführen, denn Excel 2000 bis 2003 kann nur 3 bedingte Formatierungen, Excel 2007 hingegen kann bedeutend mehr.
Wenn Du Excel 2000, 2002 oder 2003 hast, dann schau mal auf
meiner HP in der
Rubrik Beispieldateien und dort dann in dem
Beispiel 2 nach. Dort stelle ich dazu eine Beispieldatei zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
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 3 von Quad vom 03.09.2020, 14:25 Options
Hi und erstmal danke
@Helmut: auf das bin ich auch schon gekommen trotzdem Danke
@Oliver: tolle HP mit super Tips werd aber wahrscheinlich erst morgen dazukommen den Code auszuprobieren bzw selber daran was rumzubasteln aber so wie ich mich kenne habe ich sicher noch Fragen dazu.
Danke
Gruß
Quad
Antwort 4 von Quad vom 04.09.2020, 12:11 Options
Hi,
ich meld mich nochmal.
Also theoretisch kann ich den Code von deiner HP kopieren und einfügen oder?
Da ich von VBA so gut wie keinen Schimmer habe muss ich jetzt ein paar blöde Fragen stellen:
Also ich öffne meinen VBA Teil von Excel mittels Alt + F11
Dann füge ich ein neues Modul hinzu und füge dort den Code von deiner HP ein. Dann auf F5 debuggen und dann müsste es doch funktionieren oder ? Bi mir funkts aber nicht.
Danke
Gruß
Quad
Antwort 5 von coros vom 04.09.2020, 12:38 Options
Hallo Quad,
nein, nicht in ein Modul, sondern in das VBA-Projekt des Tabellenblatts, indem die farbliche Veränderung der Zellen wirken soll. Steht aber auch auf meiner Homepage in der Beispielbeschreibung. Dort steht
Zitat:
Der Code ist in das VBA-Projekt der Tabelle einzufügen, in der er wirken soll.
und wenn Du auf "VBA-Projekt der Tabelle " klickst gelangst Du zu einer Anleitung, wie man das macht.
MfG,
Oliver
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 6 von Quad vom 04.09.2020, 13:13 Options
Hi
Danke das mit "VBA-Projekt der Tabelle" hab ich überlesen.
Aber jetzt hab ich es so gemacht wie es beschrieben ist d.h. VBA editor aufgemacht -> VBA Projekt geklickt -> doppelklick auf Tabelle1 dann hat sich das Fenster rechts geöffnet dann stand da "Option Explicit" Code eingefügt dann debuggen und nichts hat sich getan. ICh glaub ich bin echt zu blöd für da VBA Zeugs.
Danke
Gruß
Quad
Antwort 7 von coros vom 04.09.2020, 13:25 Options
Hallo Quad,
Du musst dort nur den Code einfügen. Alles weitere geschieht erst, wenn Du etwas in Deinem Tabellenblatt einträgst, dass den Kriterien von der Case-Anweisung entspricht.. Erst dann werden entsprechend den Case-Anweisungen die Hintergrundfarben verändert. Im VBA-Projekt musst Du dann nichts mehr machen. Außer Du möchtest, dass bei Eingabe eines anderen Buchstaben etwas passiert, dann muss in der Case-Anweisung etwas geändert werden. Sonst nicht. Du musst im VBA-Editor auch nichts starten oder betätigen.
MfG,
Oliver
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 8 von Quad vom 04.09.2020, 13:45 Options
Super danke
jetzt funktionierts
Danke
nochmal für die Hilfe und für deine tolle HP
Gruß
Quad
Antwort 9 von Quad vom 04.09.2020, 15:50 Options
Hi nochmal
Jetzt hab ich doch noch ne Frage:
Kann ich das mit den Farben auf einen Best Bereich eingrenzen?D.h. Ich will diese Formatierung nur auf der Spalte D haben. Wenn ja wie?
Danke
Gruß
Quad
Antwort 10 von Quad vom 08.09.2020, 10:57 Options
HI
ich ahb jetzt selber rumgebastelt und es klappt bei einer Tabelle zumindestens.
Folgenden Code hab ich:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereit As Range 'Bereit
Dim ErlQu As Range 'Erledigungsquote
Dim Erreich As Range 'Erreichbarkeit
'Bereich von Bereit
Set Bereit = Tabelle12.Range("L7:L150")
For Each Target In Bereit
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Cells.Count > 1 Then Exit Sub
Select Case Target
'Wenn der Wert zwischen 10 und 10000 dann Hintergrund rot
Case 10.0001 To 10000
Target.Interior.ColorIndex = 3
'Wenn der Wert zwischen 6 und 10 dann Hintergrund gelb
Case 6 To 10
Target.Interior.ColorIndex = 6
'Wenn der Wert zwischen 0 und 6 dann Hintergund grün
Case 0.0001 To 5.99
Target.Interior.ColorIndex = 4
'Wenn der Wert außerhalb der Bedingungen dann kein HIntergund
Case Else
Target.Interior.ColorIndex = 0
End Select
Next Target
'Ende Bereit
'Bereich von Erledigunsquote
Set ErlQu = Tabelle12.Range("I7:I150")
For Each Target In ErlQu
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Cells.Count > 1 Then Exit Sub
Select Case Target
'Wenn der Wert größer/gleich 80 dann Hintergrund grün
Case 80 To 1200
Target.Interior.ColorIndex = 4
'Wenn der Wert kleiner 80 dann Hintergrund rot
Case 0.001 To 79.999999
Target.Interior.ColorIndex = 3
'Wenn der Wert außerhalb der Bedingungen dann kein HIntergund
Case Else
Target.Interior.ColorIndex = 0
End Select
Next Target
'Ende Erledigungsquote
'Bereich Erreichbarkeit
Set Erreich = Tabelle12.Range("H7:H150")
For Each Target In Erreich
'Wenn mehr als eine Zelle markiert wurde dann Makro beenden
If Target.Cells.Count > 1 Then Exit Sub
Select Case Target
'Wenn der Wert kleiner 75 dann Hintergrund rot
Case 0.00001 To 74.999999
Target.Interior.ColorIndex = 3
'Wenn der Wert zwischen 75 und 80 dann Hintergrund gelb
Case 75 To 79.999999
Target.Interior.ColorIndex = 6
'Wenn der Wert größer/gleich 80 dann Hintergund grün
Case 80 To 1200
Target.Interior.ColorIndex = 4
'Wenn der Wert außerhalb der Bedingungen dann kein HIntergund
Case Else
Target.Interior.ColorIndex = 0
End Select
Next Target
'Ende Erreichbarkeit
End Sub
So wenn ich den in anderen Tabellenblättern auch haben will würde es doch genüden in zu kopieren, im anderen Tabellenblatt einzufügen und hier (Set Erreich = Tabelle12.Range("H7:H150")) Tabelle 12 in Tabelle2 z.b zu ändern. Wenn ich das mache und das Zeug dann anwenden will kommt immer dieser Fehler 13
Was mach ich falsch bzw was muss ich ändern?
Danke
Gruß