Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Schrift farblich gestalten

Betrifft: Schrift farblich gestalten von: mustermann83
Geschrieben am: 01.08.2014 22:54:20

Guten Abend,
anbei eine Excel-Datei. Diese habe ich entwickelt um offene Posten nach Fälligkeit auszuwerten.
Jetzt möchte ich die verschiedenen Kunden farblich nach Fälligkeit gestalten.

aktuell bleibt schwarz
größer 7 Tage Schrift soll grün werden
größer 14 Tage Schrift soll blau werden
größer 21 Tage Schrift soll orange werden
größer 28 Tage Schrift soll rot und fett werden

ich benötige hierfür ein Makro. Leider habe ich davon gar keine Ahnung. Kann mir jemand weiter helfen?

Vielen Dank

https://www.herber.de/bbs/user/91836.xls

  

Betrifft: Warum nicht im alten Thread geblieben, ... von: Luc:-?
Geschrieben am: 02.08.2014 03:32:11

…Musterfrau,
da hattest du bereits 2 AWen mit brauchbaren Lösungen deines Problems, auf die du letztlich nicht mehr reagiert hast! Sollen wir dir das jetzt nochmal „vorkauen“? :-(
Aber wahrscheinlich erwartest du ja, dass wir die in deine Datei eintragen! Mal sehen, aber habe kaum Zeit dafür…
Morrn, Luc :-?


  

Betrifft: AW: Warum nicht im alten Thread geblieben, ... von: mustermann83
Geschrieben am: 02.08.2014 13:59:12

danke fuer die freundliche hilfe. leider bin ich mit den dateien nicht klar gekommen. ausserdem sind da ja immer die zellen farblich markiert worden und nicht die schrift. ich habe versucht die makros in meine datei zu kopieren bin aber dabei auch ggescheitert. ein fertiges makro in meiner datei waere fuer mich natuerlich eine einfache schnelle loesung. danke


  

Betrifft: AW: Warum nicht im alten Thread geblieben, ... von: Tino
Geschrieben am: 02.08.2014 15:05:05

Hallo,
versuch mal ob es so geht.

https://www.herber.de/bbs/user/91844.xls

Gruß Tino


  

Betrifft: AW: Warum nicht im alten Thread geblieben, ... von: mustermann83
Geschrieben am: 04.08.2014 20:30:33

Hallo Tino,

vielen Dank für deine Hilfe. Das Makro ist super. Leider War meine Datei nur eine Testdatei. In meiner Arbeitsdatei befinden sich die Spalten und Zeilen an einer anderen Stelle. Ich habe versucht das Makro darauf anzupassen. Leider ohne Erfolg. Wie muss ich das Makro ändern, damit es auf die Datei funktionier?

https://www.herber.de/bbs/user/91881.xls


  

Betrifft: AW: Warum nicht im alten Thread geblieben, ... von: mustermann83
Geschrieben am: 04.08.2014 21:40:31

Hallo Tino,

vielen Dank für deine Hilfe. Das Makro ist super. Leider War meine Datei nur eine Testdatei. In meiner Arbeitsdatei befinden sich die Spalten und Zeilen an einer anderen Stelle. Ich habe versucht das Makro darauf anzupassen. Leider ohne Erfolg. Wie muss ich das Makro ändern, damit es auf die Datei funktionier?

https://www.herber.de/bbs/user/91881.xls


  

Betrifft: Das ist eine von den Sachen, die wir besonders ... von: Luc:-?
Geschrieben am: 04.08.2014 21:47:02

…lieben, eine andere ist Ignoranz! :-[
Luc :-?


  

Betrifft: AW: Das ist eine von den Sachen, die wir besonders ... von: mustermann83
Geschrieben am: 04.08.2014 22:32:06

hm das verstehe ich nicht luc. auch deine nachrixhten habe ich gelesen.kedier bin ich damit nicht klar gekommen ich habe versucht dein makro zum laufen zu bekommen leider ohne erfolg. ich habe eben keine vba kentnisse. aber vielen dank fur deine bemuhungen


  

Betrifft: Naja, dann musst du halt mit Button leben ... von: Luc:-?
Geschrieben am: 05.08.2014 01:38:00

…und auf die Automatik verzichten. Auf deine neue Mappe passe ich meine Lösung jedenfalls nicht an, dazu macht das unter Xl12 zuviel Arbeit.
Dass du meine AWen gelesen hast, ist ja schön, aber woher sollte ich das wissen…
Luc :-?


  

Betrifft: auf neue Datei angepasst... von: Tino
Geschrieben am: 05.08.2014 00:10:19

Hallo,
kannst ja mal so versuchen.

https://www.herber.de/bbs/user/91886.xls

Gruß Tino


  

Betrifft: Um das, was ich meinte, für dich ... von: Luc:-?
Geschrieben am: 03.08.2014 18:23:30

…anschaulicher zu machen,
habe ich das mal anhand deiner Datei umgesetzt. Dazu war es erforderlich, eine Legende anzulegen (sollte bei derartigen Aktionen ohnehin nicht fehlen!), wobei ich deine Vorgabe benutzt, die Texte aber auf benutzerdefinierte Forma­tierung umgestellt habe, so dass hier eigent­lich nur die Datums­diffe­renzen als Zahlen­werte stehen. Das macht die Hand­habung durch das Pgm einfacher. Außerdem habe ich diesen, sowie die forma­tierungs­relvanten Bereich(e) mit Namen (blatt­bezogen!) versehen, damit evtl zukünftige Änderungen an ihnen (dann die Namens­bezüge aber sicher­heits­halber auf Richtig­keit kontrol­lieren!) keine Pgm­Änderungen zur Folge haben müssen. Deswei­teren habe ich 2 zusätzliche Bedingungen der schon vorhandenen voran­gestellt, die bei Fälligkeitsdaten vor Heute ansprechen. Um die Verschiedenfarbigkeit in Abhängigkeit von der Größe der Differenz zu erreichen, dienen die Fest­legungen der Legende quasi als Unter­bedingungen dieser beiden, die unbedingt die beiden ersten sein müssen.
Eine weitere Maßnahme ist dem Umstand geschuldet, dass ich zZ keine ältere XlVersion zV habe und deshalb mit Xl12 (2007) testen musste, was auch heißt, dass das in dieser Form auch mit den neueren XlVersionen fktioniert. Das wäre dann aber nicht unbedingt zu empfehlen, weil es einen Mehr­aufwand bei Erst­anlegung der Bedingt­Formatierung bedeutet. Ich musste nämlich die Einzel­zeilen des Forma­tierungs­bereichs über absolute Adressierung bedingungs­vereinzeln. Das musst du aber bei deiner Version nicht machen, sondern kannst die entsprd Adressen (teil-)relativ für den jeweiligen Gesamt­Bereich angeben. Das Pgm vereinzelt diese dann je nach erfüllter Unter­bedingung selbst­ständig (unter Xl12 würde das in einer Forma­tierungs­Katastrophe enden!).
Die beiden Ereignis­proze­duren dienen Folgendem:
_Calculate ruft das Bedingt­Forma­tierungs­Farb­änderungs­Pgm nach jeder ausgelösten Berechnung auf, da davon ausge­gangen wdn muss, dass sich dadurch ggf auch Änderungen in der Fällig­keits­Diffe­renz ergeben haben könnten.
_Change bezieht sich nur auf Änderungen der Legende. In diesem Fall wird ebenfalls das o.g. Pgm aufgerufen. Dabei ist aller­dings zu beachten, dass reine Format­Änderungen (direkt, nicht durch Ein­kopieren!) dieses Ereignis nicht auslösen (auch kein anderes!). Deshalb muss in diesem Fall kurz in eine der betrof­fenen Zellen geklickt (und Edit wieder beendet!) wdn. Auf diese Weise kann man also auch andere als die von mir voreinge­stellten Farben verwenden.
Na, dann viel Erfolg mit der Datei, die du hier findest.
Gruß, Luc :-?


  

Betrifft: Jetzt habe ich wohl doch noch deine Angaben ... von: Luc:-?
Geschrieben am: 03.08.2014 18:30:52

…fehlinterpretiert,
was eine Pgmänderung zur Folge haben dürfte. Falls du meine Variante verwenden möchtest, teile ich dir auf Nachfrage die Korrektur mit.
Luc :-?


  

Betrifft: Das richtige Pgm dürfte wie folgt aussehen, ... von: Luc:-?
Geschrieben am: 03.08.2014 19:19:11

…bitte austauschen!

Rem Passt BedFormatTextFarbe/Fett an UntBedingg lt Legende an
'   Anwendg d.Dynamized Conditional Formatting f.Vss vor Xl12
Private Sub ActCForm()
    Const naCFArea$ = "BedFormBereich", naCFAreaDat$ = "BedFormFallBereich"
    Dim FallSp As Long, ic As Long, ix As Long, relFWo As Variant, _
        cfr As Range, relCFBer As Range, relCFLeg As Range
    On Error Resume Next
    Application.EnableEvents = False
    Set relCFBer = Me.Range(naCFArea): Set relCFLeg = Me.Range(naCFLegd)
    FallSp = Me.Range(naCFAreaDat).Column - relCFBer.Cells(1).Column + 1
    relFWo = WorksheetFunction.Transpose(relCFLeg)
    For Each cfr In relCFBer.Rows
        If cfr.FormatConditions.Count >= 2 Then
            ix = 0: ix = WorksheetFunction.Match(Int(Now) - Int(cfr.Cells(FallSp)), relFWo)
            If CBool(ix) Then
                For ic = 1 To 2
                    With cfr.FormatConditions(ic)
                        .Font.Color = relCFLeg.Cells(ix).Font.Color
                        .Font.Bold = relCFLeg.Cells(ix).Font.Bold
                    End With
                Next ic
            End If
        End If
    Next cfr
    Set relCFBer = Nothing: Set relCFLeg = Nothing
    Application.EnableEvents = True
End Sub
Luc :-?


  

Betrifft: Noch eine kleine Ungenauigkeit im Pgm ... von: Luc:-?
Geschrieben am: 04.08.2014 00:43:36

…entdeckt:
Bei der ix-ErmittlungsFml muss in Arg1 noch - 1 ergänzt wdn, damit auch wirklich nur die Fälligkeitsdaten älter als die in der Legende angegebene Datumsdifferenz mit der entsprd TextFarbe gekennzeichnet wdn, also …
ix = WorksheetFunction.Match(Int(Now) - Int(cfr.Cells(FallSp)) - 1, relFWo)
Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Schrift farblich gestalten"