HERBERS Excel-Forum - das Archiv

Thema: .Borders.Weight = 0 | Herbers Excel-Forum

.Borders.Weight = 0
Gunter

Hallo Zusammen,
ich möchte je nach Zelleninhalt einen Rahmen Ein- bzw. Ausschalten. Mit .Borders.Weight = 0 bringt er mir leider eine Fehlermeldung. Wie müsste es denn heissen?
Für zweckdienliche Hinweise herzlichen Dank.
Gruss
Gunter

mit xlNone
Matthias

Hallo
Vorschlag:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not IsEmpty(Target) Then
Target.Borders.Weight = 1
Else
With Target
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End If
End If
End Sub
Geht sicher noch einfacher (habs mit Recorder aufgezeichnet und angepasst)
Gruß Matthias
AW: .Borders.Weight = 0
fcs

Hallo Günther,
zum Ein-/Ausbenden des Rahmens muss du den LineStyle ändern, nicht die Dicke der Linien
Gruß
Franz
Beispiel:
Sub aaTest()
Dim A
A = xlHairline ' 1
A = xlThin '2
A = xlMedium '-4138
A = xlThick '4
With Range("AN6").Borders
.LineStyle = -4142 'xlLineStyleNone
.LineStyle = 1 'xlContinuous
.Weight = 4
.Weight = 1
.LineStyle = -4142 'xlLineStyleNone
End With
End Sub

AW: .Borders.Weight = 0
Gunter

Hallo Matthias und Franz,
vielen Dank für die schnelle Hilfe. Mit Linestyle funktioniert es super.
Danke und Gruss
Gunter