Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich Färben wenn...

Bereich Färben wenn...
24.07.2013 11:29:58
Patrick
Guten Tag,
ich habe folgendes Problem:
Ich habe einen Bereich, in den entweder X oder Y eingetragen wird.
Wird nun ein X eingetragen, so soll sich eine bestimmt Zelle rot färben.
Wird ein Y eingetragen, soll sich diese Zelle blau färben.
Beispiel:
in Range("A1:D4") wird ein Y eingetragen und Range("C1") soll sich blau färben.
Das Y bleibt in der Range stehen und ein X wird in eine andere Zelle aber noch in der Range("A1:D4")eingetragen. Dann soll sich Range("C1") blau färben.
Gruß
Patrick

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
bedingte Formatierung. owT
24.07.2013 11:35:00
Rudi

AW: bedingte Formatierung. owT
24.07.2013 11:37:09
Patrick
Mit der "bedingten Formatierung" habe ich es nicht hinbekommen
Gruß

AW: bedingte Formatierung. owT
24.07.2013 11:45:50
Rudi
Hallo,
Dann soll sich Range("C1") blau färben.
Ist doch schon blau.
Lies mal deine Anfrage.
Gruß
Rudi

AW: bedingte Formatierung. owT
24.07.2013 11:48:05
Patrick
Ups, entschuldigung.
Wenn ein X eingetragen wird soll es sich rot färben.
Gruß
Patrick

AW: bedingte Formatierung. owT
24.07.2013 11:52:24
Rudi
Hallo,
so?
ABCD
1    
2    
3y   
4  x 

Zellebedingte Formatierung...Format
C11: =ZÄHLENWENN($A$1:$D$4;"X")abc
C12: =ZÄHLENWENN($A$1:$D$4;"Y")abc

Gruß
Rudi

Anzeige
AW: bedingte Formatierung. owT
24.07.2013 12:41:26
Patrick
Wo muss ich das denn eingeben?
Unter "Bedingte Formatierung" sieht das Ganze anders aus.
Gruß
Patrick

AW: bedingte Formatierung. owT
24.07.2013 12:46:25
Rudi
Hallo,
neue Regel, Formel zur Ermittlung....
Gruß
Rudi

AW: bedingte Formatierung. owT
24.07.2013 12:59:49
Patrick
Ok,danke für deine Mühe.
Das Problem ist, wenn ich nun ein X eintrage, dann wird es rot. Soweit schonmal prima. Trage ich nun ein Y ein bleibt die Zelle aber rot und wird nicht blau. Ich habe vielleicht meine Frage falsch gestellt.
Die Farbe soll sich immer dem entsprechend ändern, welcher buchstabe zuletzt eingetragen wurde.
Gruß
Patrick

geht nur per VBA owT
24.07.2013 13:03:58
Rudi

AW: geht nur per VBA owT
24.07.2013 13:29:26
Patrick
Das habe ich mir auch gedacht. Habe es auch versucht, aber ohne Erfolg.
Gruß
Patrick

Anzeige
AW: geht nur per VBA owT
24.07.2013 13:45:54
Matze
Patric,
sind da nur die Beiden Einträge gemeint "x" u. "y" oder gibt es noch mehr?
Du solltest endlich mal schreiben was genau du machen willst
In VBA wäre es mit Private Sub Worksheet Change(ByVal Target As Range) in
der entsprechenden Tabelle zu lösen.
Matze

AW: geht nur per VBA owT
24.07.2013 13:53:55
Patrick
Wie am Anfang geschildert:
"Ich habe folgendes Problem:
Ich habe einen Bereich, in den entweder X oder Y eingetragen wird.
Wird nun ein X eingetragen, so soll sich eine bestimmt Zelle rot färben.
Wird ein Y an anderer Stelle eingetragen, soll sich diese Zelle blau färben." Wird nun wieder ein X an anderer Stelle eingetragen, soll sich die Zelle erneut rot färben.
Da das ganze anscheinend mit der "bedingten Formatierung" nicht funktioniert wurde ich auf VBA hingewiesen.
Ich habe meine Versuche in VBA leider wieder gelöscht. Ich werde morgen nochmal versuchen es in VBA zu schreiben und es dann hier hochladen.
Gruß
Patrick

Anzeige
AW: bedingte Formatierung. owT
24.07.2013 12:48:24
Matze
Hallo Patrik,
und wenn gar nix geht, stell deine Datei hier ein, aber du solltest schon den Umgang damit üben,
wenn du später was erreichen möchtest.
Matze

Geht auch m.BedingtFormat u.etwas ...
24.07.2013 19:55:47
Luc:-?
…VBA-Unterstützung, Leute;
1. Name definieren für das betroffene Blatt, zB letztEintrag bezogen auf ="".
2. BedingtFormat/6.MenüPkt: Bedingg1→ =letztEintrag="X" →Rot; Bedingg2→ =letztEintrag="Y" →Blau
3. Ereignisprozedur Worksheet_Change wie üblich anlegen → PgmKörper:
    Const lEintrN$ = "letztEintrag", relBerN$ = "A1:D4", sigSymb$ = "XY"
Static adVorgg$
Dim VorgPos As Long, VorgAdr As Variant
If Not Intersect(Target, Me.Range(relBerN)) Is Nothing Then
If Target.Count = 1 Then
If Not IsEmpty(Target) Then
If CBool(InStr(sigSymb, Target)) Then _
adVorgg = LTrim(adVorgg & " " & Target.Address)
ElseIf adVorgg  "" Then
VorgAdr = Split(adVorgg)
VorgPos = WorksheetFunction.Match(Target.Address, VorgAdr, 0) - 1
If VorgPos > -1 Then VorgAdr(VorgPos) = ""
adVorgg = Trim(Join(VorgAdr))
End If
VorgAdr = Split(adVorgg): Me.Names(lEintrN).Value = "=" & VorgAdr(UBound(VorgAdr))
ElseIf IsEmpty(Target.Cells(1)) Then
adVorgg = ""
End If
End If
Mit Auswahl mehrerer Zellen, deren 1. nicht leer ist, und Löschen aller wird die PgmVariable adVorgg geleert, ansonsten bleibt sie zwischen den AutoAufrufen erhalten.
Gruß Luc :-?

Anzeige
Etwas optimalere PgmVariante ...
24.07.2013 20:55:17
Luc:-?

Private Sub Worksheet_Change(ByVal Target As Range)
Const lEintrN$ = "letztEintrag", relBerN$ = "A1:D4", sigSymb$ = "XY"
Static adVorgg$
Dim isLeerAdV As Boolean, VorgPos As Long, ZielAdr$, VorgAdr As Variant
On Error GoTo fx
If Not Intersect(Target, Me.Range(relBerN)) Is Nothing Then
If Target.Count = 1 Then
ZielAdr = Target.Address: Let isLeerAdV = adVorgg = ""
If Not isLeerAdV Then
VorgAdr = Split(adVorgg)
On Error Resume Next
VorgPos = WorksheetFunction.Match(ZielAdr, VorgAdr, 0)
On Error GoTo fx
If CBool(VorgPos) Then _
VorgAdr(VorgPos - 1) = "": adVorgg = Trim(Join(VorgAdr))
End If
If Not IsEmpty(Target) Then
If CBool(InStr(sigSymb, Target)) Then _
adVorgg = adVorgg & IIf(isLeerAdV, "", " ") & ZielAdr
End If
VorgAdr = Split(adVorgg)
Me.Names(lEintrN).Value = "=" & VorgAdr(UBound(VorgAdr))
ElseIf IsEmpty(Target.Cells(1)) Then
adVorgg = ""
End If
End If
Exit Sub
fx: MsgBox Err.Description, vbCritical, "InternFehler " & Err.Number
End Sub
Luc :-?

Anzeige
AW: Bereich Färben wenn...
24.07.2013 13:58:21
Rudi
Hallo,
so?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:D4")) Is Nothing Then
Select Case Target
Case "X": Cells(1, 3).Interior.Color = RGB(255, 0, 0)
Case "Y": Cells(1, 3).Interior.Color = RGB(0, 0, 255)
Case ""
Select Case True
Case WorksheetFunction.CountIf(Range("A1:D4"), "X") = 0 And _
WorksheetFunction.CountIf(Range("A1:D4"), "Y") = 0
Cells(1, 3).Interior.Color = xlNone
Case WorksheetFunction.CountIf(Range("A1:D4"), "X") > 0 And _
WorksheetFunction.CountIf(Range("A1:D4"), "Y") = 0
Cells(1, 3).Interior.Color = RGB(255, 0, 0)
Case WorksheetFunction.CountIf(Range("A1:D4"), "X") = 0 And _
WorksheetFunction.CountIf(Range("A1:D4"), "Y") > 0
Cells(1, 3).Interior.Color = RGB(0, 0, 255)
End Select
End Select
End If
End Sub

Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige