Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bedingte Formatierung nach VBA bringen

Bedingte Formatierung nach VBA bringen
11.12.2006 17:04:34
Sepp
Hallo zusammen
ist es möchlich diese formel von einer Bedingter Formatierung einer Zelle
nach VBA zu konvertieren ?
Wenn z.B Zelle C5 folgende Formel als Bedingte Formatierung erfüllt
Formel ist =ODER(WOCHENTAG(C$4)=1;WOCHENTAG(C$4)=7;C$201="F"),
dann soll die Hintergrundfarbe der Zelle C5 gelb sein.
Das ganze soll für alle Zellen im Bereich C5:AG200 gelten.
Könnte mir jemand behilflich sein ?
Danke und Gruß Sepp

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung nach VBA bringen
11.12.2006 17:42:02
IngGi
Hallo Sepp,
das müsste so gehen:

Sub Hintergrundfarbe()
Dim rng As Range
For Each rng In Range("C5:AG200").Cells
   If WorksheetFunction.Weekday(Cells(4, rng.Column)) = 1 Or _
      WorksheetFunction.Weekday(Cells(4, rng.Column)) = 7 Or _
      Cells(201, rng.Column) = "F" Then
      rng.Interior.ColorIndex = 19
   End If
Next 'rng
End Sub

Gruß Ingolf
Anzeige
Das ist allerdings eine permanente Farbgebung!
12.12.2006 04:38:52
Luc:-?
Hallo Sepp & Ingolf,
man könnte natürlich auch die bedingte Formatierung per VBA anlegen, falls das eher gewünscht ist. Ist aber etwas komplizierter und vielleicht gar nicht erforderlich. Eine weitere Möglichkeit würde mit Ereignissen fkt, damit sich die Farben bei Nichterfüllung der Bedingung wieder ändern. Und 3. gibt es noch CFPlus im Archiv (basiert auf 2.). Aber wenn die Farben nur fixiert wdn sollen, ist Ingolfs Lösung OK. Allerdings sollte dann anschließend das bedFormat entfernt wdn, wenn sich an den Zahlen was ändern könnte, aber die Farbe sichtbar bleiben soll.
Gruß Luc :-?
Anzeige
AW: Bedingte Formatierung nach VBA bringen
11.12.2006 17:59:42
Sepp
Hallo Ingolf
habs in meine Datei eingebaut, aber leider funzt es nicht
Gruß Sepp
AW: Bedingte Formatierung nach VBA bringen
11.12.2006 18:26:45
IngGi
Hallo Sepp,
bei mir funktioniert das einwandfrei. Würde mich interessieren, was genau bei dir nicht geht.
Allerdings habe ich festgestellt, dass der Code das Problem sozusagen von der falschen Seite angeht. Es werden alle Zellen der betroffenen Spalten zwischen Zeile 5 und Zeile 200 bearbeitet. Viel schneller geht das Ganze, wenn man statt dessen nur die Zellen in den Zeilen 4 und 201 prüft und dann die Zellen der Zeilen 5 bis 200 dieser Spalten gelb färbt. Deshalb nochmal ein neuer Code:

Sub Hintergrundfarbe()
Dim rng As Range
For Each rng In Range("C4:AG4").Cells
   If WorksheetFunction.Weekday(rng) = 1 Or _
      WorksheetFunction.Weekday(rng) = 7 Then
      Range(rng.Offset(1, 0), rng.Offset(196, 0)).Interior.ColorIndex = 19
   End If
Next 'rng
For Each rng In Range("C201:AG201").Cells
   If rng = "F" Then
      Range(rng.Offset(-196, 0), rng.Offset(-1, 0)).Interior.ColorIndex = 19
   End If
Next 'rng
End Sub

Gruß Ingolf
Anzeige
AW: Bedingte Formatierung nach VBA bringen
11.12.2006 18:58:31
Sepp
Hallo Ingolf
Danke erstmal für Deine schnelle Hilfe
hab was übersehen bzw. das Makro funzt wenn man es manuell ausführt einwandfrei,
doch ich möchte es so in ein tabellenblatt einbauen, damit es automatisch läuft, bzw ausgeführt wird.
Hast Du da noch einen Tipp für mich !!
Danke und Gruß Sepp
AW: Bedingte Formatierung nach VBA bringen
12.12.2006 00:01:54
IngGi
Hallo Sepp,
in diesem Fall kannst du das Makro so schreiben, dass es auf bestimmte Ereignisse reagiert. Das zu ändern erfordert nicht viel Aufwand. Kopier das Makro zunächst in das Modul des betreffenden Tabellenblattes. Alles was du dann noch ändern musst, ist die Kopfzeile des Makros. Abhängig von dem gewünschten Ereignis, bei dem das Makro ablaufen soll, sieht das dann so aus:
Wird beim Aktivieren des Tabellenblattes ausgeführt:
Private Sub Worksheet_Activate()
Wird ausgeführt, wenn das Tabellenblatt verlassen wird:
Private Sub Worksheet_Deactivate()
Wird ausgeführt, wenn eine Zelle des Tabellenblattes verändert wird:
Private Sub Worksheet_Change(ByVal Target As Range)
Wird ausgeführt, wenn eine andere Zelle des Tabellenblattes ausgewählt wird:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Wenn du damit nicht zurecht kommst, melde dich einfach nochmal.
Gruss Ingolf
Anzeige
AW: Bedingte Formatierung nach VBA bringen
12.12.2006 08:30:37
Sepp
Hallo Ingolf & Luc
danke Euch für Eure Unterstützung
Hab jetzt die Lösung, jetzt funzt es wie ich es wollte.
Dank und Gruß Sepp

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige