Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

bedingte Formatierung per VBA ?!?

Forumthread: bedingte Formatierung per VBA ?!?

bedingte Formatierung per VBA ?!?
02.01.2004 13:46:20
Marco
Hallo werte Excel-Profis.

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.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingte Formatierung per VBA ?!?
02.01.2004 14:05:41
Martin Beck
Hallo Marco,

mal als Ansatz:


Sub Formatieren()
If IsNumeric(Range("J11")) Then
With Range("B11").Font
.Name = "Tahoma"
.ColorIndex = 3
End With
Exit Sub
End If
If Range("B11") <> 1 Then
With Range("B11").Font
.Name = "Times New Roman"
.ColorIndex = xlAutomatic
End With
Else
With Range("B11").Font
.Name = "Times New Roman"
.ColorIndex = 3
End With
End If
End Sub


Das Makro muß jedoch jedesmal neu gestartet werden. Oder soll sich die Formatierung automatisch anpassen, wenn in B11 oder J11 etwas eingetragen wird?

Gruß
Martin Beck
Anzeige
AW: bedingte Formatierung per VBA ?!?
02.01.2004 14:09:11
Josef Ehrensberger
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

     Code eingefügt mit Syntaxhighlighter 2.5


Gruß Sepp
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige