Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Rahmen um Zelle (VBA)

Rahmen um Zelle (VBA)
24.06.2004 11:05:12
Michal
Wenn ich mit VBA einen Rahmen um eine Zelle machen will, der überall gleich dick, gleiche Form, usw. ist, wie schreib ich das kürzer als das?
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Gruss Michal
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rahmen um Zelle (VBA)
KlausK
Hallo Michal,
Excel bietet nun mal die Möglichkeit, die Zellen nicht unbedingt komplett einzurahmen. Daher muss jedes Rahmenteil explizit gesetzt werden. Eine andere Möglichkeit wäre, eine Zelle zu rahmen und diese dann via Makro kopieren, INHALTE EINFÜGEN - FORMATE.
Gruss
KlausK
AW: Rahmen um Zelle (VBA)
GerdZ
Hallo Michal,
die xlEdge-Konstanten haben folgende Werte:
5 - xlDiagonalDown
6 - xlDiagonalUp
7 - xlEdgeLeft
8 - xlEdgeTop
9 - xlEdgeBottom
10 - xlEdgeRight
11 - xlInsideVertical
12 - xlInsideHorizontal
Daher läßt sich Dein Problem mit einer For-Next-Schleife lösen:
Sub Rahmen()
Dim Index As Integer
For Index = xlEdgeLeft To xlEdgeRight
With Selection.Borders(Index)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Next Index
End Sub

Gruß
Gerd
Anzeige
AW: Rahmen um Zelle (VBA)
K.Rola
Hallo,

Sub Rahmen()
ActiveCell.BorderAround ColorIndex:=5, Weight:=xlMedium
End Sub

Gruß K.Rola
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Rahmen um Zelle mit VBA in Excel setzen


Schritt-für-Schritt-Anleitung

Um einen Rahmen um eine Zelle in Excel mit VBA zu setzen, kannst du den folgenden Code verwenden. Dieser Code setzt alle Rahmenteile auf einmal, was die Handhabung erleichtert:

Sub Rahmen()
    Dim Index As Integer
    For Index = xlEdgeLeft To xlEdgeRight
        With Selection.Borders(Index)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
    Next Index
End Sub

Du kannst diesen Code in das VBA-Editor-Fenster einfügen und ausführen. Er wird einen einheitlichen Rahmen um die aktuell ausgewählte Zelle setzen.


Häufige Fehler und Lösungen

  1. Problem: Der Rahmen wird nicht angezeigt.

    • Lösung: Stelle sicher, dass die Zelle ausgewählt ist und dass der Code korrekt eingegeben wurde.
  2. Problem: Der Rahmen ist zu dick oder hat die falsche Farbe.

    • Lösung: Passe die .Weight und .ColorIndex im VBA-Code an, um den gewünschten Rahmen zu erhalten. Zum Beispiel kannst du .Weight = xlMedium für einen dickeren Rahmen verwenden.

Alternative Methoden

Eine alternative Methode, um einen Rahmen um die aktive Zelle zu setzen, ist die Verwendung der BorderAround-Methode. Hier ein Beispiel:

Sub Rahmen()
    ActiveCell.BorderAround ColorIndex:=5, Weight:=xlMedium
End Sub

Diese Methode ist besonders nützlich, wenn du schnell einen Rahmen um die aktive Zelle setzen möchtest, ohne die Bordeinstellungen für jede Seite einzeln anpassen zu müssen.


Praktische Beispiele

Um mehrere Zellen mit einem Rahmen zu versehen, kannst du den folgenden Code verwenden:

Sub RahmenMehrereZellen()
    With Range("A1:C3").Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
End Sub

Dieser Code wird einen Rahmen um die Zellen A1 bis C3 setzen. Du kannst die Zellreferenzen nach Bedarf anpassen.


Tipps für Profis

  • Rahmenlinien hervorheben: Wenn du die aktive Zelle hervorheben möchtest, kannst du den Rahmen in einer anderen Farbe setzen. Ändere einfach den ColorIndex auf eine Farbe deiner Wahl, z. B. ColorIndex:=1 für schwarz.

  • Rahmen rund um eine Zelle: Verwende die BorderAround-Methode, um einen gleichmäßigen Rahmen schnell zu setzen. Diese Methode ist besonders praktisch, wenn du häufig die gleiche Formatierung benötigst.


FAQ: Häufige Fragen

1. Wie kann ich einen Rahmen nur auf einer Seite setzen? Du kannst den Rahmeneffekt für eine spezifische Seite (z. B. nur unten) setzen, indem du die spezifische Edge-Konstante wie folgt verwendest:

With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
End With

2. Kann ich den Rahmen um mehrere Zellen gleichzeitig setzen? Ja, du kannst das mit dem With-Block für einen Bereich tun. Stelle sicher, dass du den Bereich korrekt angibst, wie im Beispiel oben gezeigt (Range("A1:C3").Borders).

3. Welche Excel-Version benötige ich für diese VBA-Codes? Die oben genannten VBA-Codes sollten in den meisten modernen Excel-Versionen (Excel 2010 und später) funktionieren.

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