Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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

Tabelle formatieren

Tabelle formatieren
Philipp
Hallo Zusammen.
Wie kann ich in einer Tabelle die einzelnen Bereiche innerhalb einer Zelle ansprechen.z.B. möchte ich in der Zelle(1,1) die 2te Zeile anders formatieren.
Sub test
Set Tabelle = ActiveDocument.Tables.Add(Range:=myRange, NumRows:=UBound(Daten_channel) + 3,  _
NumColumns:=2)
with Tabelle
.Cell(3, 1).Range.Text = "Test"   & chr(13) & _
"Test2"
end with
End Sub

Test 2 soll z.B. blau sein und das alles in word. Hab dieses Forum gewählt, weil ich noch kein gescheites Word Forum gefunden habe , bzw konnte mir dort keiner auf meine Frage antworten.
Danke im Voraus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Auch WORD ...
03.11.2009 15:34:06
Rudi
... hat einen Recorder.
Zeichne auf und optimiere den Code.
Gruß
Rudi
AW: Tabelle formatieren
03.11.2009 15:50:04
xr8k2
Hallo Philipp,
With Tabelle.Cell(3, 1).Range
.Text = "Test" & Chr(13) & "Test2"
.Paragraphs(2).Range.Font.ColorIndex = wdBlue
End With
Gruß,
xr8k2
AW: Superlösung
03.11.2009 16:44:53
fcs
Hallo xr8k2,
supereinfache Lösung.
Auf die Idee, hinter dem Paragraphen nochmals das Range-Objekt aufzurufen und dessen Eigenschaft zu ändern bin ich nicht gekommen :-(
So hab ich umständlich mit Text-Positionen rumgemacht.
Gruß
Franz
AW: Tabelle formatieren
03.11.2009 16:35:08
fcs
Hallo Philipp,
die Zellen und Spalten einer Tabelle kannst du über die Nummern ansprechen wie in Excel.
Die Textpositionen muss du als Zahlen vorgeben oder per Funktion "Instr" ermitteln.
Dabei muss man beachten, dass Word immmer ab dem 1. Zeichen des Dokuments zählt mit 0 als 1. Position im Dokument. Dabei kann man das 1. Zeichen der Zelle als Bezugsposition benutzen.
Gruß
Franz
Schaut dann etwa so aus:
Sub test()
Dim Daten_channel
Dim Tabelle As Table, myRange As Range, rngZelle As Range
Dim objDoc As Document, Pos1 As Long, Pos2 As Long
Set objDoc = ActiveDocument
'testdaten
Daten_channel = Array(1, 2, 3, 4, 5)
Set myRange = objDoc.Range(2, 2)
Set Tabelle = objDoc.Tables.Add(Range:=myRange, _
NumRows:=UBound(Daten_channel) + 3, NumColumns:=2)
With Tabelle
Set rngZelle = .Cell(3, 1).Range
With rngZelle
.Text = "Test" & Chr(13) & _
"Test2" & Chr(13) & _
"Test3"
'      .Text = "Test" & Chr(13) & _
"Test2"
If .Paragraphs.Count > 1 Then
'Position des 1. Zeilenumbruchs
Pos1 = .Start + InStr(1, .Text, Chr(13))
'Position des 2. Zeilenumbruchs oder Ende Zellentext
If .Paragraphs.Count = 1 Then
Pos2 = .End
Else
Pos2 = .Start + InStr(Pos1 - .Start + 1, .Text, Chr(13))
End If
'Text von Pos1 bis Pos2 inklusive fett formatieren
objDoc.Range(Pos1, Pos2).Bold = True
End If
End With
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige