Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Format im Datailbereich

Begonnen von hazel, März 14, 2013, 12:52:59

⏪ vorheriges - nächstes ⏩

hazel

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

bahasu

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

Servus

bahasu

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]
Servus

hazel

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   

bahasu

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
Servus

hazel

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

hazel

Hallo bahasu,

wie kann ich die riesige Formel verkürzen, ansonsten war mein Problem gelöst, siehe Danke.

MzKlMu

#7
Hallo,
eigentlich sollte das doch reichen:
If WirdAlt Mod 5 = 0 Or WirdAlt >=80 Then
Gruß Klaus

bahasu

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
Servus

hazel

Hallo ihr beiden,

MzKlMu und bahasu, habe es eingesetzt und klappt wie verückt

vielen dank euch beiden

Gruß Ingo   

MzKlMu

@Harald
Danke für den Hinweis mit Mod 5, hatte einen Hänger.  ;D
Habs oben noch schnell geändert.
Gruß Klaus