der-blob
Goto Top

In einer Zelle die zweite Zeile Nutzen

Tag zusammen, ich denke mal es ist nur eine kleinigkeit die mir fehlt...

Hallöchen,

Ich habe eine Vorlage (WORD 2010| .dotx) in dieser ist u.a. eine Tabelle drinne, und die Tabelle muss befüllt werden.

Es handelt sich um eine Zelle in der Tabelle welche 2 Zeilen hat.

 
ActiveDocument.Tables(2).Cell(Row:=i * + 1, Column:=3).Range.Text = "Hallo" & Db(0) & " " & Db(1) & " " & Db(2)  


In Zeile 1 soll das "Hallo" stehen, und in der 2. Zeile mein Db(1) (2) (3)..
Nun wie komme ich in die 2. Zeile? Muss hinter den "Hallo" noch was hin? wenn ja WAS? Denn wenn ich bei Row:=.. weiter gehe gehe ich ja in die Nächste ZELLE und nicht Zeile.

(Ich hoffe Ihr versteht mein problemchen)

Content-Key: 186903

Url: https://administrator.de/contentid/186903

Printed on: April 23, 2024 at 06:04 o'clock

Mitglied: 76109
76109 Jun 22, 2012 updated at 09:25:35 (UTC)
Goto Top
Hallo der-blob!

Versuchs mal mit:
"Hallo" & vbCrLf & Db(0) & " " & Db(1) & " " & Db(2)

Den Sinn von dem hier:
Row:=i * + 1
verstehe ich allerdings nicht so ganz?

Gruß Dieter
Member: der-blob
der-blob Jun 22, 2012 updated at 10:14:37 (UTC)
Goto Top
Versuchs mal mit:
"Hallo" & vbCrLf & Db(0) & " " & Db(1) & " " & Db(2)

Vielen Dank,dies Funktioniert face-smile


Den Sinn von dem hier:
Row:=i * + 1
verstehe ich allerdings nicht so ganz?


Row:=i * 2 + 1

So sollte dies Eigentlich sein... - habe mich Vertippt

Der sinn dahinter ist, das ich nur Bestimmte felder ausfülle und nicht alle, denn die Tabellezelen wiederholen sich des öfteren und da gehören mehre Zellenzeilen zusammen, als block sozusagen. Da aber alles in einer Tabelle ist, muss ich diverse Zellen überpringen, deshalb das * und +.


Jedoch habe ich ein weiteres kleines Problem, ich denke mal das geht auch recht einfach, für jemanden der sich in VB auskennt ;)

Fehler ist folgendes:

In der selben Zelle

(wo ich in die zwite Zeile wollte) muss ich nun die Formatierung ändern (aber nur von dem was in der 2. zeile steht)

und mit
ActiveDocument.Tables(2).Cell(Row:=i * 2 + 1, Column:=3).Range.Font.Size = 14
änder ich ja die ganze Zelle


ActiveDocument.Tables(2).Cell(Row:=i * 2 + 1, Column:=3).Range.Font.Size = vbCrLf & 14
Bereitsgetestet und Gescheitert.. face-big-smile
Mitglied: 76109
76109 Jun 22, 2012 at 10:22:27 (UTC)
Goto Top
Hallo der-blob!

Um Font entsprechend innerhalb eine Zelle zu ändern in etwa so:
    With Cells(x, y).Characters(Start:=1, Length:=7).Font
        .Name = "Arial"  
        .FontStyle = "Standard"  
        .Size = 10
    End With
    
    With Cells(x, y).Characters(Start:=8, Length:=4).Font
        .Name = "Arial"  
        .FontStyle = "Standard"  
        .Size = 14
    End With
wobei Du die Textpositionen entsprechend berrechnen musst (Len(Text)...)

Gruß Dieter
Member: der-blob
der-blob Jun 22, 2012 at 12:32:08 (UTC)
Goto Top
Danke für deine Hilfe,

jedoch stell ich mich glaub ein bisschen zu blöd an... bekomme "methode oder Datenobjektbjekt nicht gefunden" , und zeigt mir dann Cells an....
Mitglied: 76109
76109 Jun 22, 2012, updated at Jun 23, 2012 at 10:57:29 (UTC)
Goto Top
Hallo der-blob!

Sorry, der Blöde war wohl ichface-wink

Hab's in der Eile einfach so von Excel übernommenface-sad

Hiermit sollte es in Word funktionieren:
    With ActiveDocument.Tables(2).Cell(i * 2 + 1, 3).Range
        
        Textzeile1 = "Zeile1"  
        Textzeile2 = "Zeile2"  
        
       .Text = Textzeile1 & vbCrLf & Textzeile2
        
        For c = 1 To Len(Textzeile1) + 1
            With .Characters(c).Font
                .Name = "Arial"  
                .Size = 10
            End With
        Next
    
        For c = Len(Textzeile1) + 2 To .Characters.Count
            With .Characters(c).Font
                .Name = "Arial"  
                .Size = 14
            End With
        Next
   End With


Noch eine Anmerkung zum Zähler (i):

In einer Schleife, kannst Du auch in beliebigen Schritten zählen z.B. in 2-Schritten mit:
For i = 1 To 12 Step 2
    ....
Next

Gruß Dieter
Member: der-blob
der-blob Jun 25, 2012 at 08:59:58 (UTC)
Goto Top
Vielen herzlichen dank nochmal für deine hilfe, klappt nun Wunderbar!