Hallo,
dieses Beispiel erzeugt ein neues leeres Dokument und erstellt eine Tabelle. Im Anschluß werden die Zellen mit Beispiel-Daten gefüllt. Die erste Zeile wird im Abschluß fett formatiert.
Das alles wird von Excel aus gestartet:
Sub InsertWordTable()
Dim wrd As New Word.Application
Dim doc As Word.Document
Set doc = wrd.Documents.Add
wrd.Visible = True
Dim tbl As Word.Table
Dim iCnt As Integer
doc.Range.Delete
Set tbl = doc.Tables.Add(Range:=doc.Range, NumRows:=4, NumColumns:= _
5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed)
For iCnt = 1 To 5
tbl.Cell(1, iCnt).Range.Text = "Titel " & iCnt
tbl.Cell(2, iCnt).Range.Text = "Angabe " & Mid("ABCDEF", iCnt, 1)
tbl.Cell(3, iCnt).Range.Text = "Zusatz " & iCnt
Next
With tbl.Rows(1)
.Range.Font.Bold = True
End With
End Sub
Damit der VBA-Code funktioniert, muss im VBA-Editor ein Verweis auf "Microsoft Word" angelegt werden.
Mit tbl.Cell kann eine einzelne Zelle angesprochen werden; mit tbl.Rows eine ganze Zeile und mit tbl.Columns eine ganze Spalte
Ganz wichtig, man braucht keine Zelle zuvor markieren, um diese bearbeiten zu können.
Select-Anweisungen sind echte Performance-Killer.
Das Beispiel wurde mit Office 2013 erstellt.
LG, BigBen
|