Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Rahmen per VBA einfärben

Rahmen per VBA einfärben
28.05.2009 17:54:09
nicospostbox
Hi zusammen!
Ich habe eine kleine Frage:
ich habe ein Makro geschrieben, welches wiefolgt lautet:

Sub FormatFarbeSchwarz()
' Überschrift mit schwarzem Hintergrund, weißer Schrift, fett, oben, mittig, Rahmenfarbe innen  _
weiß
' Makro am 20.05.2009 von nico.schultz aufgezeichnet
'--- Schrift formatieren
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
End With
With Selection.Font
.Name = "Arial Narrow"
.FontStyle = "Fett"
.Size = 12
.Color = RGB(255, 255, 255)
End With
'--- Hintergrund formatieren
With Selection.Interior
.Color = RGB(0, 0, 0)
End With
'--- Trennlinien formatieren
If Selection.Columns.Count > 1 Then
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.Color = RGB(255, 255, 255)
End With
End If
If Selection.Rows.Count > 1 Then
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.Color = RGB(255, 255, 255)
End With
End If
End Sub


Bei Ausführung soll also der Zellhintergrund schwarz gefärbt werden und Linien und Schrift weiß.
Der Hintergrund ist nach Ausführung schwarz und die Schrift weiß. Nur die Linienfarbe stimmt nicht.
Hat evtl. jemand eine Idee, woran das liegen könnte?
Danke für eure Hilfe!
Grüße,
Nico

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Rahmen per VBA einfärben
28.05.2009 17:58:26
Hajo_Zi
Hallo Nico,
markiere den Bereich B4: j27 und machen Hintergrund gelb.
Markiere jetzt C3:F6, gehe in Bearbeitungsleiste 123 und strg+Enter.
Jetzt lasse Dein Makro laufen und Dir wird auffallen es macht das was Du geschrieben hast.

Anzeige
AW: Rahmen per VBA einfärben
28.05.2009 18:01:24
nicospostbox
Hallo Hajo!
Danke für die schnelle Antwort!
Was meinst du mit "gehe in Bearbeitungsleiste 123 und strg+Enter"?
Was muss ich in meinem Code ändern, damit die Rahmenfarbe korrekt dargestellt wird?
Danke schön!
Nico
AW: Rahmen per VBA einfärben
28.05.2009 18:09:48
Hajo_Zi
Hallo Nico,
da muss nichts geändert werden.
Ich wollte nur das in allen Zellen was steht.
Die Bearbeitungsleiste ist bei mir direkt unter den Symbolleisten, dort hin gehen 123 und Strg+Enter und alle markierten Zellen sind ausgefüllt.
Gruß Hajo
Anzeige
AW: Rahmen per VBA einfärben
28.05.2009 18:16:47
nicospostbox
Hi Hajo!
Ach so! :-)
Leider besteht mein Problem weiterhin!
Unabhängig vom Farbcode, den ich für die Linienfarbe eingebe (weiß, grau, schwarz - völlig egal) werden die Linien bei mir immer in einem leichten gelb dargestellt!
Hat es etwas damit zu tun, dass ich meine Farbpalette verändert habe? Aber ich habe ja extra deshalb schon den RBG-Code und nicht ColorIndex verwendet!
Hast du noch eine Idee?
Anzeige
AW: Rahmen per VBA einfärben
28.05.2009 18:20:07
Hajo_Zi
Hallo Nico,
falls Du die weiße Farbe gelöscht hat benutzt Excel eine Farbe die Deiner Farbkombination am nächsten kommt. Bei mir geht es ohne Probleme. Selbst bei 400% (Zoom) st es noch weiß.
Gruß Hajo
AW: Rahmen per VBA einfärben
28.05.2009 18:25:04
nicospostbox
Hi Hajo!
Hm - komisch! Will bei mir nicht!
Aber ich hab's halt jetzt über ColorIndex gelöst! Wenn ich halt was an der Farbpalette mache, dann passt es halt nicht mehr!
Danke schön auf jeden Fall!
Grüße,
Nico
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Rahmen per VBA einfärben in Excel


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul.

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub FormatFarbeSchwarz()
       With Selection
           .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlTop
       End With
       With Selection.Font
           .Name = "Arial Narrow"
           .FontStyle = "Fett"
           .Size = 12
           .Color = RGB(255, 255, 255)
       End With
       With Selection.Interior
           .Color = RGB(0, 0, 0)
       End With
       If Selection.Columns.Count > 1 Then
           With Selection.Borders(xlInsideVertical)
               .LineStyle = xlContinuous
               .Weight = xlThin
               .Color = RGB(255, 255, 255)
           End With
       End If
       If Selection.Rows.Count > 1 Then
           With Selection.Borders(xlInsideHorizontal)
               .LineStyle = xlContinuous
               .Weight = xlThin
               .Color = RGB(255, 255, 255)
           End With
       End If
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Markiere den gewünschten Zellbereich und führe das Makro aus (ALT + F8 und wähle FormatFarbeSchwarz).


Häufige Fehler und Lösungen

  • Linienfarbe wird nicht wie gewünscht angezeigt: Wenn die Linienfarbe nicht korrekt dargestellt wird, könnte es daran liegen, dass die Farbpalette in Excel geändert wurde. Stelle sicher, dass die weiße Farbe in deiner Farbpalette vorhanden ist. Andernfalls kann Excel eine ähnliche Farbe wählen, was zu unerwünschten Ergebnissen führt.

  • Makro funktioniert nicht richtig: Überprüfe, ob der Zellbereich, den du formatieren möchtest, korrekt markiert ist. Wenn der Bereich leer ist, kann das Makro keine Änderungen vornehmen.


Alternative Methoden

Neben VBA kannst du die Rahmenfarbe in Excel manuell ändern:

  1. Markiere die Zellen, deren Rahmen du ändern möchtest.
  2. Gehe zum Menüband und klicke auf Start.
  3. Wähle im Bereich Schriftart das Symbol für Rahmen und dann Rahmen und Füllung.
  4. Wähle die gewünschte Rahmenfarbe aus und klicke auf OK.

Diese Methode bietet dir die Möglichkeit, die Rahmenlinienfarbe direkt in der Benutzeroberfläche zu ändern, ohne VBA zu verwenden.


Praktische Beispiele

  1. Alle Rahmenlinien ändern: Verwende den folgenden Code, um alle Rahmenlinien einer Tabelle auf rot zu ändern:

    Sub AlleRahmenLinienAendern()
       With Selection.Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .Color = RGB(255, 0, 0) ' Rot
       End With
    End Sub
  2. Zellen umrandung farbe ändern: Um die Umrandung einer bestimmten Zelle zu ändern, kannst du eine ähnliche Vorgehensweise nutzen:

    Sub RahmenfarbeAendern()
       With Range("A1")
           .Borders.Color = RGB(0, 0, 255) ' Blau
       End With
    End Sub

Tipps für Profis

  • Nutze RGB-Farben anstelle von ColorIndex, um sicherzustellen, dass du die exakten Farben bekommst, die du wünschst. ColorIndex kann je nach Farbpalette variieren.
  • Speichere deine Änderungen regelmäßig und teste Makros in einer Kopie deiner Datei, um Datenverlust zu vermeiden.
  • Wenn du oft mit VBA arbeitest, erstelle eine Sammlung nützlicher Makros, die du schnell aufrufen kannst.

FAQ: Häufige Fragen

1. Warum wird die Rahmenfarbe nicht korrekt angezeigt?
Das kann daran liegen, dass die Farbe aus der Farbpalette gelöscht wurde. Stelle sicher, dass die benötigte Farbe in der Palette vorhanden ist.

2. Wie kann ich die Hintergrundfarbe einer Tabelle ändern?
Du kannst die Hintergrundfarbe einer Tabelle ändern, indem du die Zellen markierst und im Menüband unter Start die Füllfarbe auswählst.

3. Kann ich die Rahmenfarbe für mehrere Zellen gleichzeitig ändern?
Ja, markiere einfach den gewünschten Bereich und wende das Makro oder die manuelle Methode an, um die Rahmenfarbe für alle Zellen gleichzeitig zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige