Ändern Sie vorhandene unregelmäßige Ränder in Farbe - Excel

1916
Ludo

Ich möchte die vorhandene Randfarbe mehrerer Zellen ändern - einige davon haben nur einen Rand oben / links oder gar keine usw. - in Excel.

Gibt es dafür eine Standardoption oder kann dies mit einem Makro erfolgen?

BEARBEITEN:

Anscheinend war meine Beschreibung nicht klar genug. Ich versuche, die Rahmenfarbe (von bereits vorhandenen Zellen) eines Kalenders zu ändern. Das sind also 12 Registerkarten und viele Zeilen.

Wie Sie im Bild unten sehen können, haben nicht alle Zellen den gleichen Rand (Stil), z. Ränder um die gesamte Zelle herum (einige tun dies, einige Zellen haben nur eine Linie oben / unten und einige haben überhaupt keine). Ich versuche, die Farbe aller zu ändern, ohne alle Linien neu zeichnen zu müssen. Ich möchte die aktuelle Farbe "aktualisieren".

Beispiel für Grenzen

1
[Ändern der Farbe einer Zellgrenze] (http://excelribbon.tips.net/T008773_Changing_the_Color_of_a_Cell_Border.html) ist das erste Ergebnis, das von der Suche nach "Excel 2013 - Zellgrenzfarbe ändern" zurückgegeben wird. DavidPostill vor 8 Jahren 0

1 Antwort auf die Frage

3
paul bica

Sie können VBA-Code wie folgt verwenden - er wirkt sich auf die aktuelle Auswahl aus (wenn die Auswahl ein Bereich von Zellen ist

Option Explicit  Public Sub setBorders() Dim cel As Range, clr1 As Long, clr2 As Long  clr1 = vbWhite 'if cell border color is different than white, and has LineStyle  clr2 = vbRed 'change its color to vbRed  If TypeOf Selection Is Range Then For Each cel In Selection 'select your Range With cel With .Borders(xlEdgeLeft) If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2 End With With .Borders(xlEdgeTop) If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2 End With With .Borders(xlEdgeBottom) If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2 End With With .Borders(xlEdgeRight) If .Color <> clr1 And .LineStyle <> xlNone Then .Color = clr2 End With End With Next End If End Sub 

Randfarben


Öffnen Sie dazu den VBA-Editor - Alt + F11und fügen Sie den Code in ein Standard-VBA-Modul ein

Danke für Ihre Reaktion, aber ich versuche, etwas schwierigeres zu tun. Ich weiß, wie man googelt;) Ich habe meine ursprüngliche Frage um weitere Informationen ergänzt. Ludo vor 8 Jahren 0
Ich habe die Antwort aktualisiert paul bica vor 8 Jahren 0
Cool, danke! Das funktioniert, aber gibt es eine Möglichkeit, es zu einem "globalen" Makro zu machen. Aufruf dieses aktiven Blattes anstelle von 'Blatt1' Ludo vor 8 Jahren 0
Ich habe es aktualisiert, damit es für den aktuell ausgewählten Zellbereich funktioniert (für das ActiveSheet) paul bica vor 8 Jahren 0