Alle Zellen in einer Zeile sollen gleiche farbe b

Gute Morgen alle zusammen.
Ich stehe vor einem mehr oder weniger großen Problem.
Ich bin schon seid zwei Tagen dabei eine Lösung zu suchen, auch hier bei wer-weiss-was.
Leider ohne Erfolg. Entweder stelle ich die falschen Suchanfragen oder es gibt wirklich noch nichts in der Art dazu.
Falls es dennoch einen Eintrag zu genau diesem Problem gibt, habt keine Hemmungen ihn dann auch hier zu posten XD

Mal eine kleine Erläuterung.

Ich habe eine, wer hätte es gedacht, Excel-Tabelle.
Sie ist wie folgt aufgebaut.

Reiseziel-----Koordinator----Datum-----------Datum-------

Hotel A-------MustermanA-----ReiseleiterA----ReiseleterX
Hotel B-------MustermanZ---------------------ReiseleiterP
Hotel C-------MustermanA-----ReisteleiterB---------------

Die Inhalte sind natürlich nur Beispiele.
Das Datum ist immer die Überschrift, also 30.12.2008 z.B…

Ich habe es soweit hinbekommen das die Koordinatoren, jenachdem welcher dann ausgewählt wird eine bestimmte Farbe hat. MustermanA z.B. Grün
MustermanZ Blau. Die Farben habe ich in VBA vorgegeben. Erkennung geht automatisch über Worksheet change…

Meine Frage und bitte um Hilfe nun.
Ich möchte das alle Zellen in einer Zeile, nehmen wir mal als Beispiel die Zelle von Hotel A, die gleiche Füllfarbe bekommen(automatisch wie beim Koordinator. Im genannten Beispiel würden also die Felder " Hotel A " „Datum(1) " und " Datum(2) " Grün gefärbt werden. In der Zeile von Hotel B müssten nur " Hotel B " und " Datum(2)“ noch Blau gefärbt werden.

Es dürfen dann nur die Zellen eine Füllfarbe bekommen die auch einen Inhalt haben, also den Reiseleiter. Ansonsten sollen sie weiß bleiben.

Ich hoffe ich habe das Problem gut genug geschildert und ihr könnt mir weiter helfen.

Als kleine Hilfestellung, oder einfach nur damit ihr wisst wie ich das mit den Farben bei den Koordinatoren mache gebe ich euch mal den VBA-Code dazu.
'--------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
lin = Target.Row: clm = Target.Column ’ target-zelle bestimmen
Select Case Cells(lin, clm)

Case „Steffens“: clr = 4
Case „Freitag“: clr = 6
Case „Thewes“: clr = 8
Case „Rampendahl“: clr = 26
Case „Langmann“: clr = 11
Case Else: clr = 0

End Select
Cells(lin, clm).Interior.ColorIndex = clr
End Sub
'--------------------------------------------

Ihr dürft euch nun austoben bis zum geht nicht mehr :smile:
Der Code darf natürlich nach belieben abgeändert werden, so dass alles so funkioniert wie ich es mir vorstelle :smiley:
Ich hoffe ihr könnt mir schnell und erfolgreich helfen :smile:

Mfg Mysterie

Hallo Mysterie,

Ich möchte das alle Zellen in einer Zeile, nehmen wir mal als
Beispiel die Zelle von Hotel A, die gleiche Füllfarbe
bekommen(automatisch wie beim Koordinator. Im genannten
Beispiel würden also die Felder " Hotel A " „Datum(1) " und "
Datum(2) " Grün gefärbt werden. In der Zeile von Hotel B
müssten nur " Hotel B " und " Datum(2)“ noch Blau gefärbt
werden.

Es dürfen dann nur die Zellen eine Füllfarbe bekommen die auch
einen Inhalt haben, also den Reiseleiter. Ansonsten sollen sie
weiß bleiben.

Doch noch eine Nachfrage :wink:

Sollen die restlichen Zellen auch dann eingefärbt werden, sobald ein neues Hotel eingefügt wird?
Dann würde ich zunächst mal eine ähnliche Select-Abfrage machen (abhängig davon, wieviele Werte denn für Hotel in Frage kommen - sonst eben eine andere Verzweigung [Switch oder Choose vielleicht…?]). Dann kann Du vielleicht über UsedRange soweit nach rechts gehen wie nötig (außer es sind tatsächlich immer nur eine feste Anzahl an Spalten. Dann jede Zelle abfragen, ob Sie einen Inhalt hat und dann eben füllen oder nicht. Dabei natürlich dann die Reiseleiter-Spalte ausklammern.

Bestimmt gibt es noch eine schnellere, sinnvollere Lösung, aber schon mal als Anregung, über die man weiter grübeln kann.

Viel Erfolg schon mal :smile:
Gruß, Elisabeth

Reiseziel-----Koordinator----Datum-----------Datum-------
Hotel A-------MustermanA-----ReiseleiterA----ReiseleterX
Hotel B-------MustermanZ---------------------ReiseleiterP
Hotel C-------MustermanA-----ReisteleiterB---------------

Ich möchte das alle Zellen in einer Zeile, nehmen wir mal als
Beispiel die Zelle von Hotel A, die gleiche Füllfarbe
bekommen(automatisch wie beim Koordinator. Im genannten
Beispiel würden also die Felder " Hotel A " „Datum(1) " und "
Datum(2) " Grün gefärbt werden. In der Zeile von Hotel B
müssten nur " Hotel B " und " Datum(2)“ noch Blau gefärbt
werden.
Es dürfen dann nur die Zellen eine Füllfarbe bekommen die auch
einen Inhalt haben, also den Reiseleiter. Ansonsten sollen sie
weiß bleiben.

Hi Mysterie,

Option Explicit
'
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim clr As Integer, N As Long
If Target.Cells.Count 1 Then Exit Sub
Select Case Cells(Target.Row, 2)
 Case "Steffens": clr = 4
 Case "Freitag": clr = 6
 Case "Thewes": clr = 8
 Case "Rampendahl": clr = 26
 Case "Langmann": clr = 11
 Case Else: clr = xlNone
End Select
Range(Cells(Target.Row, 1), Cells(Target.Row, 4)).Interior.ColorIndex = xlNone
For N = 1 To 4
 If Cells(Target.Row, N) "" Then Cells(Target.Row, N).Interior.ColorIndex = clr
Next N
End Sub

Gruß
Reinhard

Also erst einmal vielen dank für die Antworten :smile:
Ein besonderer schon mal fast ganz großer Dank geht an dich Reinhard. Doch leider gibt es noch ein kleines Problem.
Zwar hast du es hinbekommen das die an den Koordinator anschließenden zellen farbig gemacht werden wie er, leider aber nicht die, die mal weiter hinten angelegt werden.
Wenn also einmal die " Reihe " unterbrochen wird und woanders vortgeführt wird, dann wird die Zelle nicht mehr ausgefüllt.

Ich denke mal das liegt daran das du davon ausgingst das es nur bei diesen zwei Reisezeitpunkten blieb, aber da muss ich dich leider enttäuschen. Es können x-Beliebige Mengen an neuen Reiseterminen eingetragen werden.

Währst du so nett mir einen erneuten überarbeiteten Code zu erstellen mit diesen neuen Modifikationen ?
Währe super :smile:

Mfg mysterie

Ich denke mal das liegt daran das du davon ausgingst das es
nur bei diesen zwei Reisezeitpunkten blieb, aber da muss ich
dich leider enttäuschen. Es können x-Beliebige Mengen an neuen
Reiseterminen eingetragen werden.

Hi Mysterie,

sorry, hab wohl falsch in meine Glaskugel geschaut *gg*

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim clr As Integer, N As Long, Spa As Long
If Target.Cells.Count 1 Then Exit Sub
If Target.Row = 1 Then Exit Sub
Spa = Cells(1, Columns.Count).End(xlToLeft).Column
Select Case Cells(Target.Row, 2)
 Case "Steffens": clr = 4
 Case "Freitag": clr = 6
 Case "Thewes": clr = 8
 Case "Rampendahl": clr = 26
 Case "Langmann": clr = 11
 Case Else: clr = xlNone
End Select
Range(Cells(Target.Row, 1), Cells(Target.Row, Spa)).Interior.ColorIndex = xlNone
For N = 1 To Spa
 If Cells(Target.Row, N) "" Then Cells(Target.Row, N).Interior.ColorIndex = clr
Next N
End Sub

Gruß
Reinhard

1 Like

Super.
Vielen, vielen dank für die schnelle und kompetente Antwort :smile:
Du kannst dir garnicht vorstellen wieviel Zeit mir dadurch erspart bleibt nach einer Lösung zu suchen.
War also eine gute Entscheidung von mir mich hier an zu melden :smile:

Hätte ich ein wenig mehr VBA kenntnisse währe ich vielleicht nach der ersten Antwort selber auf die Lösung gekommen das man nur noch eine sache hinzufügen muss und schwupps geht es.

Nochmals vielen dank. Wenn ich irgendwann weitere Fragen habe, werde ich gerne auf dich zurück kommen via e-mail sofern ich darf :smile:

Mfg Mysterie

Hallo,

via e-mail sofern ich darf :smile:

hier im Brett fragen ist besser, dann können andere auch mit lernen.

Gruß Rainer

Ok kein Problem, zur Kenntnis genommen und wird dann auch in die Tat umgesetzt wenn es mein begrenzter Wissensstand dann mal wieder erfordert xD :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo zusammen.
Mir ist noch ein kleines Problem ins Auge gefallen.

Und zwar, die Farben werden wunderschön eingetragen wenn eine Zelle einen Inhalt bekommt, doch das Problem ist das die KOMPLETTE Zelle die jeweilige Farbe bekommt.
Am optimalsten währe es aber, wenn der Rahmen bleiben würde, bzw der farbige Rahmen wieder mit Schwarz " überschrieben " wird.

Dient einfach der übersicht und sieht besser aus, als eine einzige durchgängige Farbe.

Währe super wenn ihr mir da wieder einmal helfen könntet :smile:

Mfg Mysterie

Hier Dann mal der Code den es abzuändern gilt.

'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim clr As Integer, N As Long, Spa As Long

If Target.Cells.Count 1 Then Exit Sub

If Target.Row = 1 Then Exit Sub

Spa = Cells(1, Columns.Count).End(xlToLeft).Column
Select Case Cells(Target.Row, 2)

 Case "Steffens": clr = 4
 Case "Freitag": clr = 6
 Case "Thewes": clr = 8
 Case "Rampendahl": clr = 26
 Case "Langmann": clr = 36
 Case Else: clr = xlNone

End Select

Range(Cells(Target.Row, 1), Cells(Target.Row, Spa)).Interior.ColorIndex = xlNone
For N = 1 To Spa
 If Cells(Target.Row, N) "" Then Cells(Target.Row, N).Interior.ColorIndex = clr
Next N
'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

Und zwar, die Farben werden wunderschön eingetragen wenn eine
Zelle einen Inhalt bekommt, doch das Problem ist das die
KOMPLETTE Zelle die jeweilige Farbe bekommt.
Am optimalsten währe es aber, wenn der Rahmen bleiben würde,
bzw der farbige Rahmen wieder mit Schwarz " überschrieben "
wird.

Hallo Mysterie,

Nachfrage, also nicht der Zelleninhalt soll gefärbt werden sondern nur der Rahmen um eine Zelle oder um einen Zeilenbereich?

Wie soll das klappen wenn A1 und B1 einen unterschiedlich farbigen Rahmen haben, eine Rahmenlinie teilen sie sich!

Lade mal eine Beispielmappe hoch mit FAQ:2861 o.ä.

Gruß
Reinhard

Lade mal eine Beispielmappe hoch mit FAQ:2861 o.ä.

Gut das ich gestern noch eine erstellt habe xD

Also so war das nicht gemeint, die füllfarbe der Zelle soll schon wie vorgegeben sein. Nur in diesem Fall wird nicht nur die Füllfarbe genommen sondern auch die Farbe des Rahmens wird eingefärbt. Doch das soll nicht sein, der Rahmen soll Schwarz bleiben.

Hier mal eine Beispieldatei:

http://rapidshare.com/files/180386064/beispieldatei…

Ich hoffe das hilft dir weiter.

Mfg

Also so war das nicht gemeint, die füllfarbe der Zelle soll
schon wie vorgegeben sein. Nur in diesem Fall wird nicht nur
die Füllfarbe genommen sondern auch die Farbe des Rahmens wird
eingefärbt. Doch das soll nicht sein, der Rahmen soll Schwarz
bleiben.
http://rapidshare.com/files/180386064/beispieldatei…

Hallo Mysterie,

der Rahmen würde doch schwarz bleiben :smile:

Die Sache ist die die Zellen haben ja noch gar keinen Rahmen.
Was du da siehst sind die Gotternetzlinien, ausblendbar unter Extras–Optionen.

Gruß
Reinhard

Hallo Mysterie,

der Rahmen würde doch schwarz bleiben :smile:

Die Sache ist die die Zellen haben ja noch gar keinen Rahmen.
Was du da siehst sind die Gotternetzlinien, ausblendbar unter
Extras–Optionen.

Gruß
Reinhard

Ok, schön und gut ^^ zwar kann man dort die Farbe ändern, aber entweder liegt es an mir und ich überlese etwas wichtiges, oder es ist halt so, dass die linien nach der Farbänderung " gepunktet " sind
also keine durchgezogenen Linien.

dynamische Gültigkeitsliste

Die Sache ist die die Zellen haben ja noch gar keinen Rahmen.
Was du da siehst sind die Gotternetzlinien, ausblendbar unter
Extras–Optionen.

Ok, schön und gut ^^ zwar kann man dort die Farbe ändern, aber
entweder liegt es an mir und ich überlese etwas wichtiges,
oder es ist halt so, dass die linien nach der Farbänderung "
gepunktet " sind
also keine durchgezogenen Linien.

Hallo Mysterie,

dann setze doch Rahmen.

Und zu deinen Gültuhkeitslisten, ändere da mal die Namensformel ab, wie hier für Rverfügbar2:

=BEREICH.VERSCHIEBEN(‚Reiseleiter Status‘!$F$12;;;ZÄHLENWENN(‚Reiseleiter Status‘!$F$12:blush:F$100;"=Reise*");1)

Dann ist die Liste dynamisch.

Gruß
Reinhard

Und zu deinen Gültuhkeitslisten, ändere da mal die
Namensformel ab, wie hier für Rverfügbar2:

=BEREICH.VERSCHIEBEN(‚Reiseleiter
Status‘!$F$12;;;ZÄHLENWENN(‚Reiseleiter
Status‘!$F$12:blush:F$100;"=Reise*");1)

Dann ist die Liste dynamisch.

Gruß
Reinhard

Hi Rheinhard

Wenn ich in der Haupttabelle bei Gültigkeit das
=RVerfügbar2 durch
=BEREICH.VERSCHIEBEN(‚Reiseleiter Status‘!$F$12;;;ZÄHLENWENN(‚Reiseleiter Status‘!$F$12:blush:F$100;"=Reise*");1)
ersetze kommt diese Fehlermeldung:

Bezüge auf andere Tabellen oder Arbeitsmappen dürfen in dem Kriterium
Gültigkeitsprüfung verwendet werden.

Liegt ein Fehler deinerseits vor, oder habe ich es an einer falschen stelle eingefügt ?

Mfg

Und zu deinen Gültuhkeitslisten, ändere da mal die
Namensformel ab, wie hier für Rverfügbar2:

=BEREICH.VERSCHIEBEN(‚Reiseleiter
Status‘!$F$12;;;ZÄHLENWENN(‚Reiseleiter
Status‘!$F$12:blush:F$100;"=Reise*");1)

Dann ist die Liste dynamisch.

Wenn ich in der Haupttabelle bei Gültigkeit das
=RVerfügbar2 durch

Hallo Mysterie,

nein, dort nicht, bei Einfügen–Namen die Formel für RVerfügbar2 abändern.
Nach dem Muster dann auch die anderen Namen die in Gültigkeistlisten benutzt werden.

Gruß
Reinhard

1 Like

nein, dort nicht, bei Einfügen–Namen die Formel für
RVerfügbar2 abändern.
Nach dem Muster dann auch die anderen Namen die in
Gültigkeistlisten benutzt werden.

Gruß
Reinhard

Guten Morgen Reinhard.

Sag das doch gleich :smile:
Jetzt hat es natürlich funktioniert und ich finds super.
Hab schon länger darüber nachgedacht wie ich das hinbekomme :smile:
Vielen Dank :smile:

Mfg