Hallo zusammen,
aus einer Mitglieder-Abfrage habe ich im Code die Geburtstage gefiltert und fett dargestellt (im Forum gefunden), möchte aber diese gefilterten Daten in Rot darstellen.
Gefiltert sind alle 5 bzw. 10 Jahre, sowie alle die 81 - 100 Jahre, wobei ich denke, das es einfacher geht (81-100), aber ab 80+ sollte es pro Jahr so sein.
Mein Code ist
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If WirdAlt Mod 5 = 0 Or WirdAlt Mod 10 = 0 Or WirdAlt Mod 81 = 0 Or WirdAlt Mod 82 = 0 Or WirdAlt Mod 83 = 0 Or WirdAlt Mod 84 = 0 Or WirdAlt Mod 85 = 0 Or WirdAlt Mod 86 = 0 Or WirdAlt Mod 87 = 0 Or WirdAlt Mod 88 = 0 Or WirdAlt Mod 89 = 0 Or WirdAlt Mod 90 = 0 Or WirdAlt Mod 91 = 0 Or WirdAlt Mod 92 = 0 Or WirdAlt Mod 93 = 0 Or WirdAlt Mod 94 = 0 Or WirdAlt Mod 95 = 0 Or WirdAlt Mod 96 = 0 Or WirdAlt Mod 97 = 0 Or WirdAlt Mod 98 = 0 Or WirdAlt Mod 99 = 0 Or WirdAlt Mod 100 = 0 Then
Me.txtWirdAlt.FontWeight = 900
Else
Me.txtWirdAlt.FontWeight = 400
End If
End Sub
Ich hoffe mir kann jemand helfen.
vielen Dank im voraus
hazel
Hi hazel,
Zitat von: hazel am März 14, 2013, 12:52:59
möchte aber diese gefilterten Daten in Rot darstellen.
mit .ForeColor kannst Du die Farbe einstellen.
Harald
Hi,
um im zweiten Teil etwas gegen die riesen Formel.
Im Anhang gibt es ein Beispiel, das die bedingte Formatierung nutzt.
{mod 10 ist eh überflüssig, da schon in mod 5 enthalten}.
Harald
[Anhang gelöscht durch Administrator]
Vielen Dank bahasu,
ok. in den 5 Jahren sind die 10 Jahre enthalten, leuchtet mir ein, werde ich ändern, aber wo schreibe ich in den Code ForeColor hin.
vielen Dank schon mal
hazel
Hi,
Möglichkeit 1 (mit Deinem obigen Code):
...
Me.txtWirdAlt.FontWeight = 900
Me.txtWirdAlt.ForeColor=255
im else-Zweig statt 255 eine 0 verwenden.
Möglichkeit 2:
Einfacher geht es mit dem angefügten Beispiel. Zum "Alters-"Feld eine bedingte Formatierung anlegen und dort die Farbe und die Schriftstärke vorgeben.
Harald
Hallo Harald,
nach einigen versuchen habe ich das Problem gelöst (im else-Zweig statt 255 eine 0 verwenden), vielen Dank für die schnelle Hilfe.
Gruß Ingo
Hallo bahasu,
wie kann ich die riesige Formel verkürzen, ansonsten war mein Problem gelöst, siehe Danke.
Hallo,
eigentlich sollte das doch reichen:
If WirdAlt Mod 5 = 0 Or WirdAlt >=80 Then
Hi,
wenn schon dann:
If WirdAlt Mod 5 = 0 Or WirdAlt >=80 Then
Genau diese Formel hatte ich für die bedingte Formatierung verwendet.
Mein obiger Vorschlag kommt ohne jegliche VBA-Zeile aus.
Harald
Hallo ihr beiden,
MzKlMu und bahasu, habe es eingesetzt und klappt wie verückt
vielen dank euch beiden
Gruß Ingo
@Harald
Danke für den Hinweis mit Mod 5, hatte einen Hänger. ;D
Habs oben noch schnell geändert.