Dringend Hilfe gesucht!

Hallo Excel Experten,

suche eine Möglichkeit, unterschiedliche Werte, in „einer“ Zelle darzustellen.
Beispiel:
B1=A, Wert in D1=Auto oder B1= F, D1=Fahrrad
Die Eingabe soll immer in B1 erfolgen, die vollständige Anzeige des Wertes jedoch
in D1 erscheinen. Insgesamt sollten 5 verschiedene Darstellungen in D1 möglich sein
und möglichst auch noch farblich unterlegt (Fahrrad: grün; Auto: blau; usw.)
Ist das überhaupt Möglich? Kann mir da jemand weiterhelfen?
Vorab schon einmal ein Dankeschön für Eure Hilfe.
Ach ja, ich benutze Excel-2000!
Gruß
Michael

Hi,

geht, kein Thema.

Um die Daten anzuzeigen, nutzt du „SVERWEIS“ (siehe auch in der Excel-Hilfe). Die Farbanzeige bekommst du mit der bedingten Formatierung hin (Format => Bedingte Formatierung).

Gruß

Dylan

Hallo,

die Formel für die Zelle D1 sieht wie folgt aus:

=WENN(B1="A";"Auto";WENN(B1="F";"Fahrrad";""))

die farbliche Hinterlegung funktioniert mit bedingter Formatierung:
Format-\>begingte Formatierung

1. Bedingung
Zellwert ist gleich ="Auto"
 mit dem Button Format die gewünschte Hintergrundfarbe einstellen

Hinnzufügen Button drücken
2.Bedingung
Zellwert ist gleich ="Fahrrad"
 mit dem Button Format die gewünschte Hintergrundfarbe einstellen

MfG, KoHa

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

Hallo,
genau so habe ich es mir vorgestellt. Allerdings gibt es da doch noch ein Problem.
Ich bräuchte 5 verschiedene Hintergründe in D1, die bedingte Formartierung gibt mir
aber nur drei Bedingungen frei, was kann ich da machen? Gibst dafür auch eine Lösung?

Herzlichen Dank für die prompten Antworten.
Gruß
Michael

Hallo Michael

Die Lösung für die Farbe geht mit VBA. Nebenbei wird noch der Inhalt der Spalte D aktualisiert.
Hier der Code, den kopierst Du im VBA-Editor in die entsprechende Tabelle. Jedes mal, wenn du eine eingabe änderst, wird die farbe und der Inhalt der Zelle neu bestimmt. Mein code zielt auf die Spalte 1 als Eingabefeld und die Spalte 4 als Ausgabe. Mußt du eventuell anpassen. die fett gedruckten Zeichen im Code mußt du eventuell anpassen.
Meine Eingabe in A1 bis A5:
A
F
M
A2
A3

****************************************************************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ZeilenAnzahl 'Gesamtanzahl Zeilen
Dim Zaehler 'aktuelle Zeile
ZeilenAnzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For Zaehler = 1 To ZeilenAnzahl
Select Case Cells(Zaehler, 1)
Case „A“
Cells(Zaehler, 4) = „Auto“
With Cells(Zaehler, 4) ).Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Case „F“
Cells(Zaehler, 4) ) = „Fahrrad“
With Cells(Zaehler, 4) ).Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
Case „M“
Cells(Zaehler, 4) ) = „Motorrad“
With Cells(Zaehler, 4) ).Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
Case „A2“
Cells(Zaehler, 4) ) = „Auto2“
With Cells(Zaehler, 4) ).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Case „A3“
Cells(Zaehler, 4) ) = „Auto3“
With Cells(Zaehler, 4) ).Interior
.ColorIndex = 7
.Pattern = xlSolid
End With
Case „“
Cells(Zaehler, 4) = „“   'wenn die Zelle leer ist.
With Cells(Zaehler, 4).Interior
.ColorIndex = xlAutomatic
.Pattern = xlSolid
End With

End Select
DoEvents 'um eventuelle endlosschleifen zu stoppen
Next Zaehler
End Sub
*******************************************************************

Gruß, Fritz

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

Bedingte Formatierung mit mehr als 3 Bedingungen

B1=A, Wert in D1=Auto oder B1= F, D1=Fahrrad
Die Eingabe soll immer in B1 erfolgen, die vollständige
Anzeige des Wertes jedoch
in D1 erscheinen. Insgesamt sollten 5 verschiedene
Darstellungen in D1 möglich sein
und möglichst auch noch farblich unterlegt (Fahrrad: grün;
Auto: blau; usw.)

Hallo Michael,
zunächst mal das Negative, Titel wie dein „Dringend Hilfe gesucht!!!“,
bringen dir zunächst mal sofort das Eine, sehr viele Leute, die durchaus antwortbereit/fähig wären schauen nicht hinein, weil sie ihre Zeit nicht mit unklaren Postings verschwenden, und nicht nur ihre eigene Zeit, auch die Zeit anderer.
In der Zeit in der man in einige Postings ala „Hiiiiiiiiiiilfe“ „WichtiG“ und ähnlich sinnlos hereinschaut weil es um Dinge geht die man nicht kann, kann man schon Leuten helfen, die sich Gedanken über ihr Betreff machten und die ein Thema haben wo man helfen kann…

Weiterhin ist so ein Betreff auch deshalb unüberlegt und unsozial, denn jemand der später mal das Gleiche oder ein ähnliches Problem hat, wird evtl hilfreiche Antworten darauf nie im Archiv finden. Insofern betrifft es dich direkt, mit Sicherheit war die bedingte Formatierung schon oft hier Thema, aber alle Beiträge und Lösungen die unter nichtssagenden Titel im Archiv schlummern findet keiner mehr, sprich, die Vorgänger von dir die ähnlich betitelten, nahmen dir die Chance, sofort per Archiv-Recherche Antwort zu erhalten.
Es gäb da noch mehr dazu zu sagen, auch zu den dreifachen Ausrufezeichen, aber egal, sollen nur Tipps sein, kannst sie annehmen bzw. darüber nachdenken wenn du magst.

Okay, zum Thema, kein Problem, mit VBA kannst du unbegrenzt bedingte Formatierung nachstellen.
Ich weiss jetzt nicht ob du dich mit VBA auskennst, ist aber auch nicht wirklich wichtig, denn die Anwendung meines nachfolgenden VBA-Codes ist nicht schwierig.
Am besten, du machst zum Testen des Codes nur eine neue leere Exceltabelle auf, und gehst auf Tabellenblatt „Tabelle1“.
Dort wechselst du mit Alt+F11 in den VB-Editor. Links siehst du dann
Tabelle1, dort doppelt draufklicken.
Rechts erscheint ein großes leeres weißes Feld (wenn nicht, F7 drücken), dorthinein kopierst du den untenstehenden Code komplett mit Strg-C…Strg-V…
Wieder mit Alt+F11 in Tabelle1 gelandet gib mal nacheinander A F X Y Z
oder beliebiges in B1 ein und schau was sich jeweils in D1 tut.
Der untenstehende Code besteht aus zwei getrennt zu sehenden Sub-Routinen. Die erste macht das was du wolltest, bedingte Formatierung von D1 aufgrund von B1.
In der Zeile „select case range(„b1“)“ wird gepüft was in B1 drinsteht.
Falls dort A drinsteht (Case „A“) werden die drei Zeilen nach Case „A“ ausgeführt, bei „F“ die drei Zeilen nach Case"F" usw.
Die drei Zeilen nach „Case Else“ legen fest was geschieht wenn weder A noch F noch X usw in B1 drinstehen.
Die jeweiligen drei zeilen sind wie folgt aufgebaut,
Range(„D1“).Interior.ColorIndex = … legt die Füllfarbe vo D1 fest.
Range(„D1“).Font.ColorIndex = … legt die Schriftfarbe von D1 fest.
Range(„D1“).Value = … legt den Inhalt von D1 fest
Weiterhin gilt, alles was nach einem Apostroph steht, sind reine Bemerkungen (remarks), dorthin kannst du schreiben was du willst.
Es bietet sich in diesem Fall dort zu vermerken welche Farbe denn 2 usw. bedeutet, damit man bei Betrachtung des Codes in 2 Wochen gleich weiss um was es geht.
Im Case Else Zweig ist Range(„D1“).Value = „“ noch mit dem Apostroph als Bemerkung gekennzeichnet.
Wenn du es so lässt bleibt in Zelle das drin stehen was drin steht, mit weisser farbe und automatischer Schrift. Wenn du dort das Apostroph entfernst, wird der Inhalt von zelle D1 gelöscht, wenn nicht in B1 exakt A oder F oder … steht.
Das wars schon zur bedingten Formatierung, bin berühmt für kurze knappe Erläuterungen *g

Mit diesem Hintergrundwissen ist es dann für dich ein Klacks, die Farben festzulegen, du musst ja nur die jeweilige FarbNummer eintragen.
Um herauszufinden, welche Farbe welche farbwerte hat, dazu dient die zwetite Prozedur, sub FarbenZeigen.
Einfach den Cursor irgendwo, völlig gleich wo, in den Code von Sub Farbenzeigen stellen und F5 drücken, die Sub wird ausgeführt und mit Alt+F11 siehst du das Ergebnis in Tabelle1.
Das kannst du ja abspeichern, ausdrucken usw.
Gruß
Reinhard

Private Sub Worksheet\_Change(ByVal Target As Excel.Range)
If Target.Address(False, False) "B1" Then Exit Sub
 Select Case Range("B1")
 Case "A"
 Range("D1").Interior.ColorIndex = 5 'blaue Fläche
 Range("D1").Font.ColorIndex = 2 'weiße Schrift
 Range("D1").Value = "Auto"
 Case "F"
 Range("D1").Interior.ColorIndex = 4 'grün
 Range("D1").Font.ColorIndex = 1 'schwarz
 Range("D1").Value = "Fahrrad"
 Case "X"
 Range("D1").Interior.ColorIndex = 7
 Range("D1").Font.ColorIndex = 12
 Range("D1").Value = "Roller"
 Case "Y"
 Range("D1").Interior.ColorIndex = 23
 Range("D1").Font.ColorIndex = 37
 Range("D1").Value = "Skibob"
 Case "Z"
 Range("D1").Interior.ColorIndex = 36
 Range("D1").Font.ColorIndex = 0
 Range("D1").Value = "Vipschaukel"
 Case Else
 Range("D1").Interior.ColorIndex = xlNone 'keine
 Range("D1").Font.ColorIndex = 0 'automatisch
 'Range("D1").Value = ""
 End Select
End Sub

Sub FarbenZeigen()
Range(„F1“).Value = „ZellenFarbe“
Range(„G1“).Value = „Farbwert“
Range(„H1“).Value = „SchriftFarbe“
For n = 0 To 56
Cells(2 + n, 6).Interior.ColorIndex = n
Cells(2 + n, 7).Value = n
Cells(2 + n, 8).Font.ColorIndex = n
Cells(2 + n, 8).Value = „ABCDEFGHIJKLmnopqrstuvwxyz1234“
Next n
End Sub

Sub FarbenZeigen() ist ja riesig. Hab ich mir gleich geklaut.

Klexy

B1=A, Wert in D1=Auto oder B1= F, D1=Fahrrad
Die Eingabe soll immer in B1 erfolgen, die vollständige
Anzeige des Wertes jedoch
in D1 erscheinen. Insgesamt sollten 5 verschiedene
Darstellungen in D1 möglich sein
und möglichst auch noch farblich unterlegt (Fahrrad: grün;
Auto: blau; usw.)

Hallo Michael,
zunächst mal das Negative, Titel wie dein „Dringend Hilfe
gesucht!!!“,
bringen dir zunächst mal sofort das Eine, sehr viele Leute,
die durchaus antwortbereit/fähig wären schauen nicht hinein,
weil sie ihre Zeit nicht mit unklaren Postings verschwenden,
und nicht nur ihre eigene Zeit, auch die Zeit anderer.
In der Zeit in der man in einige Postings ala
„Hiiiiiiiiiiilfe“ „WichtiG“ und ähnlich sinnlos hereinschaut
weil es um Dinge geht die man nicht kann, kann man schon
Leuten helfen, die sich Gedanken über ihr Betreff machten und
die ein Thema haben wo man helfen kann…

Weiterhin ist so ein Betreff auch deshalb unüberlegt und
unsozial, denn jemand der später mal das Gleiche oder ein
ähnliches Problem hat, wird evtl hilfreiche Antworten darauf
nie im Archiv finden. Insofern betrifft es dich direkt, mit
Sicherheit war die bedingte Formatierung schon oft hier Thema,
aber alle Beiträge und Lösungen die unter nichtssagenden Titel
im Archiv schlummern findet keiner mehr, sprich, die Vorgänger
von dir die ähnlich betitelten, nahmen dir die Chance, sofort
per Archiv-Recherche Antwort zu erhalten.
Es gäb da noch mehr dazu zu sagen, auch zu den dreifachen
Ausrufezeichen, aber egal, sollen nur Tipps sein, kannst sie
annehmen bzw. darüber nachdenken wenn du magst.

Hallo Reinhard
In nachhinein, stimme ich Dir grundsätzlich zu. Bedenke aber, dass nicht jeder Neuling sofort mit den Gepflogenheiten eines Forums aufs intensivste vertraut ist! Wenn man dann auch noch einige Stunden vorm PC sitzt, 3-4 L Kaffee auf hat und die Nerven schon mehr als flattern, und eine Lösung in weiter Ferne liegt, könnte es durchaus auch mir passieren „Hiiiiiiiiiiilfe“ mit elf „i´s“ zuschreiben.
Ich werde mich künftig bemühen, die richtige Titelformulierung zu finden.

Noch einmal zum Thema:
Dein Lösungsvorschlag ist einfach genial. Dennoch eine weitere Frage.
Besteht die Möglichkeit mehrere Eingabezellen mit entsprechenden Wertezellen zu erstellen?
Beispiel:
B1(Eingabe X,Y,Z) = D1 (Wert : Fahrrad, usw.) alles wie gehabt, zusätzlich aber
B2(Eingabe A,B,C) = D2 (Wert : Reifen, usw.)
usw.
Wie müsste dann Dein Code aussehen?

Tausend Dank im Voraus
Gruß
Michael

In nachhinein, stimme ich Dir grundsätzlich zu. Bedenke aber,
dass nicht jeder Neuling sofort mit den Gepflogenheiten eines
Forums aufs intensivste vertraut ist! Wenn man dann auch noch
einige Stunden vorm PC sitzt, 3-4 L Kaffee auf hat und die
Nerven schon mehr als flattern, und eine Lösung in weiter
Ferne liegt, könnte es durchaus auch mir passieren
„Hiiiiiiiiiiilfe“ mit elf „i´s“ zuschreiben.

*gg* war nicht persönlich, mehr ein allgemeiner FrustüberBetreffsRundumschlag meinerseits.

Besteht die Möglichkeit mehrere Eingabezellen mit
entsprechenden Wertezellen zu erstellen?
Beispiel:
B1(Eingabe X,Y,Z) = D1 (Wert : Fahrrad, usw.) alles wie
gehabt, zusätzlich aber
B2(Eingabe A,B,C) = D2 (Wert : Reifen, usw.)

Hi Michael,
vom grunsätzlichen Ablauf her analog.
Gruß
Reinhard

Private Sub Worksheet\_Change(ByVal Target As Excel.Range)
Adr = Target.Address(False, False)
If Adr "B1" And Adr "B2" Then Exit Sub
 Select Case Range("B1")
 Case "X"
 Range("D1")....
 ...
 Case "Y"
 ... 
 Case "Z"
 ...
 Case Else
 ... 
 End Select

 Select Case Range("B2")
 Case "A"
 Range("D2")....
 ...
 Case "B"
 ... 
 Case "C"
 ...
 Case Else
 ... 
 End Select
End Sub