Clever-Excel-Forum

Normale Version: Nur horizontale Linien erste Zeile einer Tabelle in word
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ha((o

Ich habe in VBA aus excel in word eine Tabelle erstellt.
Die erste Zeile der Tabelle soll oben und unten jeweils eine horizontale Linie haben. Am besten sogar noch unterschiedlich formatiert. Keine vertikale Linien. Weder außen noch innen.

Wie kann ich es anstellen? Ich finde nur Paramter zum formatieren aller Außen- oder Innenlinien (Borders). Aber die Linien einzeln zu formatieren finde ich nichts.

Hat jemand eine Idee für mich?

Liebe Grüße
Hallo,

wenn man Tante Gugl fragt, findet man doch Einiges,
z.B. https://docs.microsoft.com/de-de/office/...lineformat
Danke für den Hinweis.
Leider funktioniert es dennoch nicht. Ich weiß nicht wo mein Fehler ist. Vielleicht irgendwoanders im Code? Denn ich habe mehrere Probleme, daß einige standardbefehle in dieser Routine Fehler bringen. Ich kann nicht bei der Spalte 8 rechtsbündigen Text einstellen und nimmt nicht "xlEdgeTop" an ... Aber andere Specs nimmt er wiederum an. .... Wo kann mein Problem sein?

Code:
Sub Tabelle_Fuellen(ByRef wddoc As Word.Document)

Dim z1 As Integer
Dim z2 As Integer
Dim rabatt As Boolean
Dim wdtable As Object

   Call Rechnungsbereich_Festlegen(z1, z2, rabatt)
   
   If rabatt = True Then
       Set wdtable = wddoc.Tables.Add(Range:=wddoc.Bookmarks("Tabelle").Range, NumRows:=z2 - z1 + 1, NumColumns:=8)
       With wdtable
           .Columns(1).PreferredWidth = CentimetersToPoints(0.9) 'Position
           .Columns(2).PreferredWidth = CentimetersToPoints(2)   'Art.Nr.
           .Columns(3).PreferredWidth = CentimetersToPoints(6.5) 'Bezeichnung
           .Columns(4).PreferredWidth = CentimetersToPoints(0.8) 'Menge
           .Columns(5).PreferredWidth = CentimetersToPoints(1.2) 'Einheit
           .Columns(6).PreferredWidth = CentimetersToPoints(2)   'Originalpreis
           .Columns(7).PreferredWidth = CentimetersToPoints(1.6) 'Rabatt
           .Columns(8).PreferredWidth = CentimetersToPoints(2)   'Gesamtpreis
       
'            .Columns(8).ParagraphFormat.Alignment = wdAlignParagraphRight
       End With
   Else
       'Set wdtable = wddoc.Tables.Add(Range:=wddoc.Bookmarks("Tabelle").Range, NumRows:=z2 - z1 + 1, NumColumns:=7, defaulttablebehavior:=wdWord8TableBehavior, AutoFitBehavior:=WdAutoFitBehavior)
   End If
   
   With wdtable.Rows(1).Borders(1) 'oberste Umrandung der ersten Zeile
       .LineStyle = xlContinuous
       .Weight = xlThick
   End With
   With wdtable.Rows(1).Borders(3) 'untere Umrandung der ersten Zeile
       .LineStyle = xlContinuous
       .Weight = 2
   End With
End Sub