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

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: 76109
76109 22.06.2012 aktualisiert um 11:25:35 Uhr
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
Mitglied: der-blob
der-blob 22.06.2012 aktualisiert um 12:14:37 Uhr
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 22.06.2012 um 12:22:27 Uhr
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
Mitglied: der-blob
der-blob 22.06.2012 um 14:32:08 Uhr
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 23.06.2012 aktualisiert um 12:57:29 Uhr
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
Mitglied: der-blob
der-blob 25.06.2012 um 10:59:58 Uhr
Goto Top
Vielen herzlichen dank nochmal für deine hilfe, klappt nun Wunderbar!