Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Style erzeucgen - Rahmenlinien setzten klappt nich

Style erzeucgen - Rahmenlinien setzten klappt nich
20.11.2016 11:05:18
Stefan
Hallo zusammen und einen schönen Sonntag vorweg.
Ich steh im Wald und sehe die Bäume nicht.
Laage:
Ich möchte ein Style per VBA erzeugen. Klappt auch alles bis auf die Rahmenlinien.
Ziel: Einen Rahmen um die einzelne Zelle erzeugen.
Ich habe mir den Code per MakroRecorder aufzeichnen lassen und auch Bordersaround getestet. Sobald ich den Code aus dem MR in das SUB einsetzte bleibt nur die linke Rahmenlinie über.
Ich sehe den Baum nicht der mir die anderen 3 Linien wieder löscht. Kann mir da einer kurz helfen? Das wäre nett.
Sub FormatDatBereich2Erzeugen()
AbwListe.Styles.Add Name:="DatBereich2"
With AbwListe.Styles("DatBereich2")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.Font.Size = 11
End With
AbwListe.Styles("DatBereich2").Borders(xlDiagonalDown).LineStyle = xlNone
AbwListe.Styles("DatBereich2").Borders(xlDiagonalUp).LineStyle = xlNone
With AbwListe.Styles("DatBereich2").Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 1
.TintAndShade = 0
.Weight = xlThin
End With
With AbwListe.Styles("DatBereich2").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
AbwListe.Styles("DatBereich2").Locked = False
AbwListe.Styles("DatBereich2").FormulaHidden = False
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Style erzeucgen - Rahmenlinien setzten klappt nich
20.11.2016 13:03:43
fcs
Hallo Stafan,
Ich steh im Wald und sehe die Bäume nicht.
...
...
Ich sehe den Baum nicht der mir die anderen 3 Linien wieder löscht. Kann mir da einer kurz helfen? Das wäre nett.

Das Problem: Der Wald ist garnicht da.
Hier haben die Programmierer by Microsoft scheinbar Murks programiert beim Anlegen eines Style-Objekts unter VBA. Zumindest unter Excel 2010 existiert dieses Problem auch schon.
Weist man die Linien-Eigenschaften des Styles nachträglich dem Style in einem 2. Makro zu, dann funktioniert es.
LG
Franz
Option Explicit
Private AbwListe As Workbook                'zum Testen eingefügt
Sub FormatDatBereich2Erzeugen()
Set AbwListe = ActiveWorkbook           'zum Testen eingefügt
AbwListe.Styles.Add Name:="DatBereich2"
With AbwListe.Styles("DatBereich2")
.IncludeNumber = False
.IncludeFont = True
.IncludeAlignment = True
.IncludeBorder = True
.IncludePatterns = True
.IncludeProtection = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.Font.Size = 11
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
.Locked = False
.FormulaHidden = False
End With
Call prcStyleFrame(objStyle:=AbwListe.Styles("DatBereich2"))
End Sub
Sub prcStyleFrame(objStyle As Style, Optional varColorIndex = 0, Optional varWeight = xlThin)
' Rahmen um Zelle im Style festlegen
With objStyle
With .Borders(xlLeft)
.LineStyle = xlContinuous
.ColorIndex = varColorIndex
.TintAndShade = 0
.Weight = varWeight
End With
With .Borders(xlRight)
.LineStyle = xlContinuous
.ColorIndex = varColorIndex
.TintAndShade = 0
.Weight = varWeight
End With
With .Borders(xlTop)
.LineStyle = xlContinuous
.ColorIndex = varColorIndex
.TintAndShade = 0
.Weight = varWeight
End With
With .Borders(xlBottom)
.LineStyle = xlContinuous
.ColorIndex = varColorIndex
.TintAndShade = 0
.Weight = varWeight
End With
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
End With
End Sub

Anzeige
AW: Style erzeucgen - Rahmenlinien setzten klappt nich
20.11.2016 15:53:52
Stefan
Hallo Franz.
Das ist eine tolle Information.
So etwas habe ich mir schon gedacht.
Ich habe deinen Code erfolgreich umgesetzt.
Vielen Dank.
LG
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige