Anzeige
Archiv - Navigation
1060to1064
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
Inhaltsverzeichnis

bedingte formatierung per vba

bedingte formatierung per vba
24.03.2009 16:26:14
Tobias
Hallo allerseits!
Wie kann ich folgendes bewerkstelligen:
Ich möchte das, wenn in Spalte E="ja" dann in der jew. Zeile von A-E grüner Zellhintergrund.
(am besten ein rgb wert)
Wie mach ich das per VBA?
grüsse,
Tobias

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingte formatierung per vba
24.03.2009 16:50:16
Specke
Hallo Tobias,
vielleicht hilft Dir das weiter:

Sub faerben()
For i = 1 To 100
If Worksheets(1).Range("E" & i).Value = "ja" Then
Worksheets(1).Range("A" & i & ":E" & i).Interior.Color = RGB(100, 100, 100)
End If
Next i
End Sub


Gruß Specke

AW: bedingte formatierung per vba
24.03.2009 17:06:56
Tobias
Ja, vielen dank,
allerdings brauch ichs permanent, d.h. dauernd aktiv und nicht nur einmal ausgeführt...
ich werds mal versuchen anzupassen... und geb bescheid wenns geklappt hat
beste grüsse,
tobias
AW: bedingte formatierung per vba
24.03.2009 17:30:28
hary
hi Tobias
Bei Speckes Code wirst Du ein Problem bekommen(hab ich hier im Forum gelernt). Wenn Du aus einer Zelle ein ja rausnimmst bleibt die Farbe.
versuch mal meins. Auch keine Beschraenkung der Spalten Laenge. Wenn es staendig wirksam sein soll dann entweder ins Change ereigniss der tab oder mit intersect.

Sub Grün()
Dim rng As Range
Dim c As Range
Set rng = Range("E1:E" & Cells(Rows.Count, 5).End(xlUp).Row)
rng.Interior.ColorIndex = xlNone 'hiermit werden erstmal die Farben entfernt
For Each c In rng
If c = "ja" Then
Range("A" & c.Row & ":E" & c.Row).Interior.ColorIndex = 4 ' RGB Farben nicht zur Hand
End If
Next
End Sub


Gruss Hary

Anzeige
AW: verbessert
24.03.2009 17:41:22
hary
hi
ich nochmal. War noch ein kleiner Fehler drin. so ist es besser.

Sub Grün()
Dim rng As Range
Dim c As Range
Set rng = Range("E1:E" & Cells(Rows.Count, 5).End(xlUp).Row) 'Bereich aendern, hier A1 bis  _
D10
Range("A1:E65536").Interior.ColorIndex = xlNone 'hiermit werden erstmal die Farben entfernt
For Each c In rng
If c = "ja" Then
Range("A" & c.Row & ":E" & c.Row).Interior.ColorIndex = 4
End If
Next
End Sub


Gruss hary

AW: verbessert
25.03.2009 13:54:29
Tobias
Halo Hary,
Ich hatte noch das problem, das ich die Reihen 1-9 "ausnehmen" wollte.
Hab das jetzt so gelöst, vermutlich nicht optimal, aber es funktioniert:

Set rng = Range("E9:E" & Cells(Rows.count, 5).End(xlUp).Row) 'Bereich aendern, hier A1 bis D10
Range("A9:E1000").Interior.ColorIndex = xlNone 'hiermit werden erstmal die Farben entfernt
For Each c In rng
If c = "ja" Then
If c.Row >= 9 Then
Range("A" & c.Row & ":E" & c.Row).Interior.Color = RGB(194, 214, 154)
End If
End If
Next


Vielen Dank nochmal,
Tobias

Anzeige
AW: Ok
25.03.2009 17:53:00
hary
Hi Tobias

If c.Row >= 9 Then und ein end if kann raus


, da der Bereich(ab E9) schon in der ersten Zeile des Codes festgelegt ist.
sonst ist doch i.O. Hattest ja nix von der groesse des Bereichs geschrieben, deshalb 65536(also bis gaaanz unten).
Gruss Hary
PS: meine Meinung: Ein code soll nicht schoen sein, sondern funktionieren ;-)))

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige