AW: Text in Variable kopieren
18.09.2011 02:02:42
fcs
Hallo Marlon,
so sollte es funktionieren.
Wichtig ist, dass bei Selection hier auch immer bezug auf die Wordanwendung genommen wird.
Um Verwirrung/Verwechslung zu vermeiden hier immer die Objekte komplett referenzieren, insbesondere da hier in zwei MS Office-Anwendungen gearbeitte wird.
Gruß
Franz
Sub TextnachWord()
Dim sText As String, wks As Worksheet
Dim Word_App As Word.Application
Dim i As Long
Set wks = ActiveSheet
With wks
sText = .Range("A1") & ", " & .Range("A2")
End With
'Im activen Worddokument an der Cursor-Position den Text und eine Zeilenschaltung einfügen
Set Word_App = Word.Application
With Word_App.Application
With .Selection
.TypeText Text:=sText
End With
.Selection.TypeParagraph
'Zelleninhalte aus Excel eintragen, Absätze mit Rahmen unten, wenn in der nächsten _
Zeile in Spalte B (2) sich der Wert ändert.
For i = 4 To wks.Cells(wks.Rows.Count, 2).End(xlUp).Row
With .Selection
sText = wks.Cells(i, 2).Text & VBA.vbTab & wks.Cells(i, 3).Text
.TypeText Text:=sText
End With
.Selection.TypeParagraph
'Prüfen, ob in nächster Zeile sich der Wert in Spalte 2 ändert
If wks.Cells(i, 2) wks.Cells(i + 1, 2) Then
.Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
With .Selection.ParagraphFormat
With .Borders(wdBorderBottom)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders
.DistanceFromBottom = 2
.Shadow = False
End With
End With
.Selection.MoveDown Unit:=wdLine, Count:=1
End If
Next
End With
End Sub