Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen Färben wenn Bedingung erfülllt

Betrifft: Zellen Färben wenn Bedingung erfülllt von: Jens
Geschrieben am: 14.10.2014 14:58:26

Hallo zusammen,

ich würde gern wenn in einer Zelle ein x steht das dann ein bestimmte zelle eingefärbt wird. Insgesamt sollen fünf bereiche unteruscht warden in einer Zeile. Wenn keine x vorhanden soll auch nichts passieren. Das Datenblatt heißt Agenda in der es geprüft werden und zurückgegeben werden soll. Die Prüfung soll zeilen weise durchgeführt werden.

(Spalte Prüfen/Rückgabe)
Zeilen (10,7) organe
(16,13) Blau
(22, 19) rot
(28, 25) gelb
(34, 31) grün
wenn mir jemand mit einer Formel helfen könnte ware super!
Gruß Jens

  

Betrifft: AW: Zellen Färben wenn Bedingung erfülllt von: Matze Matthias
Geschrieben am: 14.10.2014 15:17:49

Hallo Jens,
das läßt sich alles mit Bedingter Formatierung lösen,
aber aus deinen unten angegeben Angaben blicke ich nicht durch wann du diese Formatierung brauchst.

- entweder auf eine Zeile anwenden
- oder auf eine Spalte
- oder gar auf einen Angegebenen Bereich

eine Musterdatei des Aufbaues wäre hier sehr hilfreich und einfacher für uns.
Gruß Matze


  

Betrifft: AW: Zellen Färben wenn Bedingung erfülllt von: Jens
Geschrieben am: 15.10.2014 10:28:35

Hallo Matze,

leider ist die Datei zu groß! Deswegen hab ich die in ganz klein nach gestellt. Meine Hinweise sind in der Excel datei. Die Bedingte Formatierung ist nicht möglich, da wenn ein Projekt geschlossen wird die ganze Zeile gelöscht wird. Daher würde ich das gern als VBA hinterlegen.


https://www.herber.de/bbs/user/93175.xlsx

Vielen Dank!

Gruß Jens

P.s. Kennst du dich mit checkboxen aus?


  

Betrifft: Zellen Färben wenn Bedingung erfülllt von: Matthias L
Geschrieben am: 15.10.2014 12:24:17

Hallo

Das läss sich doch ganz leicht mit der bedingten Formatierung lösen.

Tabelle1

 FGHIJK
2     15.10.2014
3DatumHilfspalteDatumHilfsspalte  
416.10.2014 20.11.2014   
513.10.2014Y25.11.2014Y  
608.08.2014Y12.10.2014Y  
711.10.2014 08.10.2014   
8      
9      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Regel wird angewendet auf:
=$F$4:$F$9;$H$4:$H$9
=UND(D4>$K$2;E4<>"Y")
Wenn Du es mit VBA brauchst müsste man wissen wann genau Du das prüfen willst.

Gruß Matthias


  

Betrifft: AW: Zellen Färben wenn Bedingung erfülllt von: Jens
Geschrieben am: 15.10.2014 13:37:15

Hallo Matthias,

das soll immer automatisch erfolgen wenn das Worksheet aufgemacht wird.

Gruß Jens


  

Betrifft: AW: Zellen Färben wenn Bedingung erfülllt von: Matthias L
Geschrieben am: 15.10.2014 15:22:34

Hallo

Hier mal nur für dieses Beispiel (ohne Fehlerbehandlung)

Private Sub Worksheet_Activate()
Dim x&, i&
For i = 6 To 8 Step 2
 For x = 4 To 7
 Cells(x, i).Interior.Color = vbGreen
  If CDate(Cells(x, i)) > CDate(Cells(2, 11)) Then
   If Cells(x, i + 1) <> "Y" Then
    Cells(x, i).Interior.Color = vbRed
   End If
  End If
 Next
Next
End Sub
Gruß Matthias


  

Betrifft: Nur ein Vorschlag von: Matze Matthias
Geschrieben am: 15.10.2014 16:59:13

Hi Zusammen,
Matthias wird bestimmt zustimmen wenn ich sage das hier das Worksheet_Change Ereignis "bequemer" ist.
Bedeutet: Machst du im betroffenen Bereich eine "Änderung" wird dein Ergebnis "sofort" dargestellt" und nicht erst wenn du das Blatt mit "activate" aufrufst.

Nur mal so als Vorschlag, die Code Zeilen von Matthias würden dort auch wirksam.

Gruß Matze


  

Betrifft: AW: Nur ein Vorschlag von: Jens
Geschrieben am: 16.10.2014 09:37:45

Hallo Matthias,
hallo Matze,

die Änderung Change funktioniert bei mir nicht! Desweiteren hab ich ein fehler bei meiner Beschreibung gemacht. Wenn in der Datum Zelle nichts steht soll die Zelle weiß bleiben. Hab das schon ausprobiert aber trotzdem immer die Zelle grün obwohl Zelle leer.

Vielleicht könnte mir einer von euch beiden helfen?
Danke für die Hilfe!!!

Gruß Jens


  

Betrifft: Interior.Color = xlNone von: Matthias L
Geschrieben am: 16.10.2014 12:24:47

Hallo

Nur auf die Schnelle (keine Zeit)
wieder für nur dieses Bsp.

Dim x&, i&
For i = 6 To 8 Step 2
 For x = 4 To 7
  If Cells(x, i) = "" Then Cells(x, i).Interior.Color = xlNone
  If CDate(Cells(x, i)) > CDate(Cells(2, 11)) Then
   If Cells(x, i + 1) <> "Y" Then
    Cells(x, i).Interior.Color = vbRed
   Else
    Cells(x, i).Interior.Color = vbGreen
   End If
  End If
 Next
Next
Ich schau später wieder rein.

Gruß Matthias


  

Betrifft: AW: Interior.Color = xlNone von: Jens
Geschrieben am: 16.10.2014 15:56:06

Hallo Matthias,

leider passt die formel von den bedingungen nicht.
1. Erste bedingung zelle soll grundsätzlich grün sein.
2. Die zelle soll grün sein wenn Y in hilfsspalte.
3. Aktuelle Datum größer als Projekt Datum (zelle) dann rot es sei denn Y in hilfsspalte.
4. Datum "" zelle soll weiß bleiben.

bei deiner formel wurde dies bestimmt auch weiß gemacht aber dann im nächsten schritt rot markiert was natürlich nicht geschehen soll.

Danke für deine Mühe!

Gruß Jens


  

Betrifft: AW: Interior.Color = xlNone von: Matthias L
Geschrieben am: 16.10.2014 18:17:33

Hallo

Probier das:

Dim x&, i&
For i = 6 To 8 Step 2
 For x = 4 To 7
  Cells(x, i).Interior.Color = vbGreen 'grundsätzl. grün
  If Cells(x, i) = "" Then Cells(x, i).Interior.Color = xlNone 'wenn leer ohne Farbe
  On Error Resume Next 'falls kein Datum
  If CDate(Cells(x, i)) > CDate(Cells(2, 11)) Then 'wenn Datum gößer heute
   If Cells(x, i + 1) <> "Y" Then Cells(x, i).Interior.Color = vbRed
  End If
 Next
Next
Gruß Matthias


  

Betrifft: AW: Interior.Color = xlNone von: Jens
Geschrieben am: 20.10.2014 09:15:30

Hallo Matthias,

sehr gut es funktioniert, es macht das was es machen soll. Allerdings nur wenn ich das Y manuell eintrage. Das Y wird über ein Userforum in die Hilfsspalte eingetragen das funktioniert auch. wenn ich jedoch das sheet aktualisiere über ein commandButton klappt dies nur in einem fall, dann wenn ich das Y entferne so dass die zelle rot wird. Trage ich das Y manuell ein funktionert es wieder.

Vielleicht weißt du einen Rat?

Danke für deine Mühe!

Gruß Jens


  

Betrifft: AW: Interior.Color = xlNone von: Jens
Geschrieben am: 20.10.2014 09:29:38

Hallo Matthias,

ich hab den Fehler gefunden! Trotzdem vielen Dank für deine Hilfe!

Gruß Jens


 

Beiträge aus den Excel-Beispielen zum Thema "Zellen Färben wenn Bedingung erfülllt"