Herbers Excel-Forum - das Archiv

Gitternetzlinien

Bild

Betrifft: Gitternetzlinien
von: frank

Geschrieben am: 08.01.2007 21:43:32
Hallo,
ich möchte für einen bestimmten Bereich die Zellhintergrundfarbe ändern.
Das mache ich mit:
Option Explicit
Sub Farbe()
Dim c As Range
For Each c In Range("A1:X10")
If c.Interior.ColorIndex = 5 Then c.Interior.ColorIndex = 2
Next
End Sub

Beim Ändern der Farbe werden aber die Gitternetzlinien mit entfernt. Nun meine Frage, wie verhindere ich denn dieses. Habe mit dem Makrorecorder mal versucht die Linien wiederherzustellen sieht aber sehr kompliziert aus. Geht das mit VBA vielleicht einfacher??
Danke wenn ihr mal drüberschaut.
Gruß Frank
Bild

Betrifft: AW: Gitternetzlinien
von: Sigi
Geschrieben am: 08.01.2007 21:55:30
Hi Frank,
nimm "xlNone" ...
Sub Farbe()
Dim c As Range
For Each c In Range("A1:X10")
If c.Interior.ColorIndex = 5 Then c.Interior.ColorIndex = xlNone
Next
End Sub

Gruß
Sigi
Bild

Betrifft: AW: Gitternetzlinien
von: frank
Geschrieben am: 08.01.2007 21:58:51
Hallo Sigi,
vielen Dank - so einfach!!!!????
Gruß Frank
Bild

Betrifft: AW: Gitternetzlinien
von: Daniel.Eisert

Geschrieben am: 08.01.2007 22:44:03
Hallo
zunächsteinmal ist es grundsätzlich so daß du unterscheiden musst zwischen den Hilfsgitternetz (diese hellgrauen linien, die man über Extras-Optionen ein- und ausblenden kann) und den selbst gemalten Rahmen.
die Hilfsgitternetzlininen werden von der Hintergrundfarbe der Zelle überdeckt, dh. sie sind nur sichtbar, wenn die Hintergrundfarbe auf "automatisch" stellts.
in VBA ist der Zahlencode dafür -4142 oder eben die vba-Konstante xlNone.
Du hast beim Rücksetzen die den Zellen die Farbe mit dem Farbcode 2 gegeben also weiß. Damit haben die Zellen eine Hintergrundfahrbe und der Hilfsgitternetz ist nicht sichtbar.
Wenn gefärbte Zellen das Gitternetz sichtbar sein soll, muß diesen als Rahmen explizit gezeichnet werden.
Gruß, Daniel
 Bild