bedingte Formatierung @Josef Ehrensberger
12.01.2004 14:32:30
Marco
>
> Ich sitze an einer für euch sicher gar nicht erwähnungsbedürftigen Frage.
> So möchte ich mehrere bedingte Formatierungen per VBA möglichst
> ressourcenschonend lösen.
> Es sollen 3 jeweils untergeordnete Abfragen gestartet werden und denen
> entsprechend eine von 3 jeweils vordefinierten Formatierungen für die Zelle
> B11 realisiert werden.
> Hört sich sicher noch komplizierter an als es ist.
> B11 ist übrigens ein Datumsfeld.
> Wenn der Inhalt der Zelle J11 eine Zahl ist (und somit kein Text bzw.
> Sonderzeichen) so sollte B11 als Schriftfarbe rot und als Schriftart Tahoma > erhalten.
> Wenn dies jedoch nicht zutrifft müsste geprüft werden ob B11 ungleich (also
> größer oder kleiner) "01.01.1900" ist. Dann sollte eine schwarze
> Schriftfarbe und Times New Roman als Schriftart verwendet werden.
> Danach sollte geprüft werden ob B11 evtl. gleich "01.01.1900" ist. Dann
> sollte die Schriftfarbe rot sein und die Schriftart wieder Times New Roman.
> Vielen Dank im Voraus für eure Mühe und die hilfreichen Tipps!
>
> Bye bye,
> Marco.
----------------------------------
Hallo Marco,
schreib diesen Code in das Modul des Tabellenblattes.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B11,J11]) Is Nothing Then Exit Sub
With [B11]
If IsNumeric([J11]) Then
.Font.Name = "Tahoma"
.Font.ColorIndex = 3
Else
If .Value <> DateValue("01.01.1900") Then
.Font.Name = "Times New Roman"
.Font.ColorIndex = 1
Else
.Font.Name = "Times New Roman"
.Font.ColorIndex = 3
End If
End If
End With
End Sub
Gruß Sepp
----------------------------
Hallo Sepp.
Leider kann ich mich erst jetzt melden.
Dein Code funktioniert in der Form bei mir nicht.
Hat sich ein Fehler eingeschlichen?
Was bedeutet eigentlich die 2. Zeile?
Damit kann ich gar nichts anfangen.
Gruß,
Marco.