anscheinend geht es nicht, dass sich Schriftart, -größe und -farbe in einer Zelle abhängig von einer bedingten Formatierung festlegen lassen.
Dass die Attribute 'normal, ‚fett‘ … und ‚durchgestrichen‘ gehen, weiß ich. Mich ärgert aber, dass Excel die Fonts ja anzeigt, aber abgeschattet, also inaktiv.
Frage an die Experten: Gibt’s dennoch einen Trick (vielleicht mit einem Makro, vorausgesetzt, dieses liefe (beliebig oft wiederholbar!) völlig selbsttätig ab nach Abschluss der Eingabe per ENTER-Taste o.ä.
Beispiel-Aufgabe:
a) wenn in Zelle A1 „Hund“ drinsteht, soll in B1 die Schrift so und so aussehen (Font, Farbe, Größe, )
b) wenn in Zelle A1 „Katze“ drinsteht, soll in B1 die Schrift irgendwie anders formatiert sein.
Und alles beliebig oft umkehrbar („Hund“ oder „Katze“). Und dann jeweils unaufgefordert vollautomatisch umformatiert. Außer „Hund“ oder „Katze“ ist nichts anderes zugelassen. Also „Maus“ geht per Datenüberprüfung (Datengültigkeit) nicht.
Dass die Attribute 'normal, ‚fett‘ … und ‚durchgestrichen‘
gehen, weiß ich. Mich ärgert aber, dass Excel die Fonts ja
anzeigt, aber abgeschattet, also inaktiv.
das ärgert mich überhaupt nicht. Ich finde das sogar viel besser als
wenn da nur angezeigt wird was aktiv ist bzw. funktioniert.
So sehe ich was da „gehen“ könnte.
Mein Wunschtraum wäre, durch links- oder Rechtsklick darauf oder
leicht in der Hilfe zu finden wäre WARUM da die deaktiviert sind
deaktiviert sind und was ich tun muss um manches zu aktivieren.
Wenn dann da z.B. als Erklärung wegen deaktivierung stünde,
das geht bei bed. Formatierung nicht so ist das eine Information,
dann weiß ich das.
Wenn aber nicht rätsel ich rum, mach ich da was falsch, geht es doch
irgendwie usw…
Frage an die Experten
Ich versuchs trotzdem. Nein, ist kein Licht untern Scheffel stellen,
und wenn ich sage ich bin kein Experte dann ist das so.
Gibt’s dennoch einen Trick (vielleicht
mit einem Makro, vorausgesetzt, dieses liefe (beliebig oft
wiederholbar!) völlig selbsttätig ab nach Abschluss der
Eingabe per ENTER-Taste o.ä.
Ich schaue die Tage mal ob mir dazu Code einfällt, heute nicht mehr.
Von der Problemansicht her müßte das klappen mit Code,
Daten in eine Zelle ein-entern löst das Change-Ereignis aus,
wodrauf dann entsprechender Code reagiert/anspringt und prüft welche
Zelle/Zellen da grad geändert wurden und handelt.
Interessant ist, das was du willst. Bei den kostenlosen LibreOffice (früher OpenOffice) funktioniert das ohne Kopfstände, als bei den neuesten kostenpflichtigen Excel. Vor einigen Tagen war mal ein anderes Problem in anderen Forum was bei Excel auch nicht funktionierte jedoch bei LibreOffice. Schon interessant.
nachfolgenden Code in das Modul von Tabelle1.
Die Größe (Size) ist ja selbsterklärend.
Wenn du die Farbennummer brauchst und die Schreibweise der
Schriftarten usw. so zeichne dir ein Makro auf während du eine
beliebige Zelle nach Wunsch formatierst.
In dem Makro steht dann da was du brauchst.
Es stehen dort auch noch andere Dinge die auf False gesetzt
werden, die kann man weglassen denn Standardwert ist False.
Gruß
Reinhard
Option Explicit
Private Sub Worksheet\_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range("A1"))
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False
With Range("B1").Font
.Name = IIf(UCase(Target.Value) = "HUND", "Courier", "Arial")
.Size = IIf(UCase(Target.Value) = "HUND", 15, 8)
.ColorIndex = IIf(UCase(Target.Value) = "HUND", 3, 5)
.Bold = IIf(UCase(Target.Value) = "HUND", True, False)
End With
Application.EnableEvents = True
End Sub
ich habe das evtl. unglücklich formuliert.
Standardwert ist nicht immer False, kann auch True sein oder was
anderes.
Z.B. bei SVerweis (VLookup) ist der Standardwert des vierten
Parameters True.
Standardwert bedeutet ob du ihn nun angibst oder wegläßt
ist gleich.