Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabelle formatieren

Forumthread: 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
Anzeige

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
Anzeige
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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige