Wie wende ich rahmen auf eine zelle an?

Um mit VBA in Excel Rahmen auf eine Zelle anzuwenden, können Sie zwei verschiedene Methoden verwenden. Die erste ist die Eigenschaft „Borders“ und die zweite ist die Methode „BorderAround“. Der einzige Unterschied zwischen diesen beiden Methoden besteht in der Eigenschaft „Ränder“. Sie können den Rand sogar auf eine Seite der Zelle anwenden und der Rand um sie herum gilt vollständig für die Zelle.

In diesem Tutorial werden wir beide Möglichkeiten untersuchen und uns ansehen, welche unterschiedlichen Möglichkeiten es gibt, den Rahmen hinzuzufügen.

VBA-Grenzeigenschaft

  1. Zuerst müssen Sie mithilfe des Bereichsobjekts den Bereich oder die Zelle angeben, in der Sie den Rahmen anwenden möchten.
    specify the range or cell
  2. Geben Sie anschließend einen Punkt (.) ein und wählen Sie dann die Eigenschaft „Borders“ aus der Liste der Eigenschaften und Methoden aus.
    type a dot and then select the border
  3. Geben Sie dann den Randindex aus den verfügbaren Inhalten an. Hier verwende ich „xlEdgeBottom“, um den Rand nur auf den unteren Rand der Zelle anzuwenden.
    specify the border index
  4. Geben Sie von dort aus den Linienstil mit „LineStyle“ an. Als Linienstil verwende ich „xlContinuonus“.
    specify th line style
 Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub

Wenn Sie nun diesen Code ausführen, wird am unteren Rand der Zelle A1 ein Rahmen hinzugefügt.

Dadurch wird unten ein Rand hinzugefügt

Verwendung verschiedener Farben mit Farbindex/Farbe

So wie Sie normalerweise die Rahmenfarbe auswählen, wenn Sie dies manuell tun. In der Eigenschaft „Rahmen“ können Sie über den Farbindex und die Eigenschaft „Farbe“ auch eine andere Farbe als die Standardfarbe verwenden.

Betrachten Sie den folgenden Code.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .Color = RGB(255, 0, 0) End With

Wenn Sie dieses Makro ausführen, wird am unteren Rand der Zelle ein roter Rand hinzugefügt.

Verwendung verschiedener Farben mit Farbindex

Oder wenn Sie die Eigenschaft colorindex verwenden möchten, sieht der Code so aus.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
Farbindexeigenschaft

Verwandt: VBA mit Deklaration

Fügen Sie einen Rahmen innerhalb einer Zelle hinzu

Wenn Sie einen Rahmen innerhalb einer Zelle anwenden möchten, müssen Sie in diesem Fall „xlDiagonalUp“ und „xlDiagonalDown“ als xlBorderIndex verwenden.

 With Range("A1").Borders(xlDiagonalUp) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With With Range("A1").Borders(xlDiagonalDown) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With
Fügen Sie einen Rahmen innerhalb einer Zelle hinzu

Wenn Sie den obigen Code ausführen, wird innerhalb der Zelle nach oben und unten ein Rahmen hinzugefügt.

VBA-BorderAround-Methode

In der BorderAround-Eigenschaft von VBA stehen Ihnen fünf optionale Argumente zur Verfügung, es müssen jedoch zwei angegeben werden, um den Rahmen korrekt auf eine Zelle anzuwenden.

VBA-Borderaround-Methode

Der folgende Code wendet den Rahmen um den Bereich A1:A3 an, wenn Sie das Makro ausführen.

 Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
Geben Sie an, dass der Rahmen auf die richtige Weise auf eine Zelle angewendet werden soll

Fügen Sie jeder Zelle im Bereich einen Rahmen hinzu

Der folgende Code durchläuft alle Zellen im Bereich und wendet den Rahmen nacheinander auf jede Zelle an.

 Sub vba_borders() Dim iRange As Range Dim iCells As Range Set iRange = Range("A1:A10") For Each iCells In iRange iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin Next iCells End Sub
Fügen Sie jeder Zelle im Bereich einen Rahmen hinzu

Wenden Sie einen Rahmen auf alle Zellen mit Text an

Der folgende Code verwendet eine FOR-Schleife, einen USED RANGE, eine IFEMPTY- und eine IF-Anweisung, um Rahmen nur auf die Zellen anzuwenden, in denen Sie einen Wert haben.

 Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin End If Next iCells

Ränder entfernen

Verwenden Sie einfach den Linienstil „xlNone“.

 Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone

Und wenn Sie den Rahmen von allen Zellen in einem Arbeitsblatt entfernen möchten, in denen Sie einen Wert haben, berücksichtigen Sie den folgenden Code.

 Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.Borders(xlDiagonalDown).LineStyle = xlNone End If Next iCells

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert