Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Rahmen mit VBA ?

Rahmen mit VBA ?
27.08.2003 20:08:24
Stefan Glander
Hallo Excelanier,
ich möchte gerne mit den Zellbereich B5 : B20 eine Linie, rechts, einfache Linie rot in VBA erstellen. Soll in den Code , siehe unten, eingebunden werden.

With Worksheets(txbName.Value)
.Range("A1:I6").Font.Name = "Tahoma"
.Range("A1:I6").RowHeight = 20
.Range("B8:B20") ???????

Wer weiß Rat ?
Gruss Stefan
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Rahmen mit VBA ?
27.08.2003 20:15:09
GerdW
Hast du in Excel keinen Makrorekorder?

Gerd
AW: Rahmen mit VBA ?
27.08.2003 20:19:50
Stefan Glander
Hallo Gerd,
klar habe ich einen Makrorekorder... gibt es Excel auch ohne den`?
Aber nun im ernst, wie setze ich das in die Tat um


Sub Makro6()
' Makro6 Makro
' Makro am 27.08.2003 von Stefan aufgezeichnet
Range("B8:B20").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub


Stefan
Anzeige
AW: Rahmen mit VBA ?
27.08.2003 20:29:02
Hajo_Zi
Hallo Stefan

kopiere den Code anstelle Deiner letzten Zeile im ersten Beitrag oder ohne Select

With Range("B8:B20")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With

habe die Zellen noch keinen Rahmen können die Zeilen mit xlNone entfallen.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
Anzeige
AW: Rahmen mit VBA ?
27.08.2003 22:35:23
Stefan Glander
Erstmal vielen Dank für Eure Hilfe !

Kann ich diese Anweisung auch in eine ?? "Modul" packen das sich dann aus dem eigentlichen Code aufrufen läßt ?
Es sind etliche Rahmen in der Tabelle zu zeichenen. Da wird der Code ja sonst recht groß und unübersichtlich.
Grüsse
Stefan
War Blöde Frage von mir. Erledigt Danke o.T
27.08.2003 22:41:59
Stefan Glander
.
Anzeige
AW: Rahmen mit VBA ?
27.08.2003 20:31:22
GerdW
Wenn kein VBA installiert wird, gibts auch keinen Rekorder.

With [b8:b20].Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With

Gerd
;
Anzeige

Infobox / Tutorial

VBA für Rahmen in Excel nutzen


Schritt-für-Schritt-Anleitung

Um mit VBA in Excel eine Rahmenlinie zu setzen, kannst du den folgenden Code verwenden. Setze diesen in dein VBA-Modul ein:

Sub SetzeRahmen()
    With Worksheets("DeinBlattName").Range("B8:B20")
        .Borders(xlEdgeRight).LineStyle = xlContinuous
        .Borders(xlEdgeRight).Weight = xlThin
        .Borders(xlEdgeRight).ColorIndex = 3 ' Rot
    End With
End Sub

Ersetze "DeinBlattName" mit dem tatsächlichen Namen deines Arbeitsblattes. Dieser Code setzt eine rote, dünne Rahmenlinie an der rechten Seite des Zellbereichs B8:B20.

Für eine Rahmenlinie unten kannst du einfach die Zeile anpassen:

.Borders(xlEdgeBottom).LineStyle = xlContinuous

Häufige Fehler und Lösungen

  • Problem: Der Rahmen wird nicht angezeigt.

    • Lösung: Stelle sicher, dass du die richtige Zelle ausgewählt hast und dass der Code korrekt auf das Arbeitsblatt verweist.
  • Problem: Der Rahmen erscheint in der falschen Farbe.

    • Lösung: Überprüfe den ColorIndex. Der Wert 3 steht für Rot.
  • Problem: Der Code funktioniert nicht, weil die Zellen bereits einen Rahmen haben.

    • Lösung: Verwende xlNone für die bestehenden Rahmenlinien, bevor du die neuen Rahmen setzt:
With Range("B8:B20")
    .Borders.LineStyle = xlNone ' Entfernt alle bestehenden Rahmen
End With

Alternative Methoden

Eine alternative Methode zur Verwendung von VBA ist der Makrorekorder. Du kannst deine Aktionen in Excel aufzeichnen und so den benötigten Code generieren. Diese Methode ist besonders hilfreich, wenn du nicht mit VBA vertraut bist.

  1. Aktiviere den Makrorekorder.
  2. Führe die gewünschten Aktionen in Excel aus (z. B. Rahmenlinien setzen).
  3. Stoppe die Aufzeichnung und sieh dir den generierten Code im VBA-Editor an.

Praktische Beispiele

Hier sind einige Beispiele, wie du mit VBA verschiedene Rahmenlinien in Excel setzen kannst:

  1. Alle Rahmenlinien setzen:
Sub SetzeAlleRahmen()
    With Range("B8:B20")
        .Borders.LineStyle = xlContinuous
        .Borders.Weight = xlThin
        .Borders.ColorIndex = 3 ' Rot
    End With
End Sub
  1. Dünne Rahmenlinien:

Wenn du die Rahmenlinien dünner machen möchtest, setze einfach den Weight Parameter:

.Borders.Weight = xlThin
  1. Rahmenlinien für mehrere Bereiche:

Du kannst auch mehrere Zellbereiche gleichzeitig ansprechen:

With Worksheets("DeinBlattName")
    .Range("B8:B20, D8:D20").Borders(xlEdgeRight).LineStyle = xlContinuous
End With

Tipps für Profis

  • Verwende Benutzerdefinierte Funktionen, um oft benötigte Rahmenanpassungen zu speichern und wiederzuverwenden.
  • Experimentiere mit verschiedenen ColorIndex Werten, um die Farbe deiner Rahmenlinien anzupassen.
  • Nutze Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler elegant zu behandeln.

FAQ: Häufige Fragen

1. Wie kann ich alle Rahmenlinien gleichzeitig setzen?
Du kannst den Befehl .Borders.LineStyle = xlContinuous für den gesamten Zellbereich verwenden.

2. Ist es möglich, die Rahmenlinien zu unterschiedlichen Stilen zu ändern?
Ja, du kannst unterschiedliche LineStyle Werte verwenden, wie xlDash, xlDot usw., um verschiedene Rahmenstile zu erzielen.

3. Kann ich Rahmenlinien in einer bestimmten Farbe setzen?
Ja, du kannst die ColorIndex Eigenschaft nutzen, um die Farbe der Rahmenlinien festzulegen.

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