Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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.

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige