Clever-Excel-Forum

Normale Version: Rahmen wir nicht richtig per VBA gesetzt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

in meiner Excel Essenliste für die Mittagsbetreuung wird aufgrund einer Vorlage die monatliche Essenliste erstellt. In der Vorlage ist jede einzelner Tabellenbereich mit einem dicken Rahmen abgegrenzt. Nachdem folgender Code durchgelaufen ist hat ein Teilbereich immer einen dünnen Rahmen zur Abgrenzung. Dort möchte ich aber auch den dickeren Rahmen


Code:
Sub Formatierungen(Optional ws As Worksheet)
  If ws Is Nothing Then Set ws = ActiveSheet
  With ws
'      .Unprotect
     With Union(.Range("A5:A70"), .Range("A81:A146"), .Range("A154:A214"), .Range("A222:A287"), _
         .Range("A295:A360"), .Range("A366:A431"), .Range("A437:A502"), .Range("A508:A573"), .Range("A579:A644"), .Range("A651:A716")) _
         .Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
     End With
'      .Protect
  End With
End Sub


Bei A5:A70 sollte Zelle A70 auch nach unten einen dicken Strich haben, hat sie aber nicht.

Folgender Code würde das Problem beheben


Code:
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
Gibt es eine einfache Möglichkeit diesen zu integrieren ?
Hallo Daniel,

With Union(.Range("A5:A71"), ... ?

Gruß Uwe
Habe ich auch schon probiert. Geht aber leider nicht
Hallo Daniel,

stimmt, Du willst da eine andere Linienstärke. Aber das Einbauen des zusätzlichen Codes sollte doch für Dich kein Problem mehr sein!? Wink

Sub Formatierungen(Optional ws As Worksheet)
 If ws Is Nothing Then Set ws = ActiveSheet
 With ws
'      .Unprotect
    With Union(.Range("A5:A70"), .Range("A81:A146"), .Range("A154:A214"), .Range("A222:A287"), _
               .Range("A295:A360"), .Range("A366:A431"), .Range("A437:A502"), .Range("A508:A573"), _
               .Range("A579:A644"), .Range("A651:A716")).Borders(xlInsideHorizontal)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlThin
    End With
    With .Range("A70").Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
    End With
 '      .Protect
 End With
End Sub

Gruß Uwe
Danke hast recht. Dachte ich kann es mit oben in den Code Bereich einbauen. Funtzt

Danke