Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1052to1056
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

If then...

If then...
19.02.2009 14:33:00
Matthias
Hallo Zusammen,
um es kurz zu machen:
Ich habe eigentlich eine Select-case-Anweisung
For Each rngZelle In ActiveSheet.Range(Cells(A, B), Cells(C, D))
Select Case rngZelle
Case "A'"
rngZelle.Interior.Color = RGB(51, 51, 51)
rngZelle.BorderAround Color:=RGB(230, 49, 16), Weight:=xlThick
Case Else
rngZelle.Interior.ColorIndex = xlNone
End Select
Next
In der Exceltabelle kann sich das A verschieben, an dem vorherigen Ort bleibt aber die Formatierung.
Die Hintergrundfarbe (und zwar bei allen anderen Zellen) lösche ich durch den Befehl:
Case Else
rngZelle.Interior.ColorIndex = xlNone

(siehe oben, klappt auch wunderbar)
Was bleibt ist der rote (RGB(230, 49, 16)) Rahmen. Ich möcht jetzt speziell die Zellen mit dem roten Rahmen erfassen (und nicht alle Zellen) und bei dieser dafür sorgen, dass der Rahmen sich verändert:
Quasi (einfach gesagt) in der Case Else-Anweisung (siehe oben) eine If then-Anweisung einfügen (?):
If rngZelle.BorderAround Color:=RGB(230, 49, 16), Weight:=xlThick then rngZelle.BorderAround Color:=RGB(51, 51, 51), Weight:=xlThin
Ich hoffe, dass ich das was ich meine, verständlich ausdrücken konnte.
Für Eure Hilfe möchte ich mich schon einmal bedanken.
Grüße,
Matthias

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If then...
19.02.2009 17:39:00
Ramses
Hallo
BorderAround kannst du zwar abfragen, das ergibt WAHR wenn einer vorhanden, aber die Farbe kannst du nicht im RGB Mode abfragen.Ausserdem musst die Farbe für jedes einzelne Segment abfragen
Ich würde den Ansatz so machen
With rngZelle
If .borderaround then
If .Borders(xlEdgeBottom).ColorIndex = 3 and .Borders(xlEdgeBottom).weight = 4 then
... Dein code
End If
End if
end with
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige