ich versuche eine Sub zu schreiben, welche nacheinander mehrere Ranges aus Excel als Bild in die Zwischenablage kopiert und in ein neues Word-Dokument einfügt. Das klappt auch schon mit dem nachfolgenden Code gut – ich schaffe es nur nicht, nach jedem eingefügten Bild einen LineBreak einzufügen. Deswegen werden alle Bilder übereinander im Word-Dokument ganz oben eingefügt statt nacheinander Zeile für Zeile. Hat jemand eine Idee, woran es liegt?
Dies ist der VBA-Code:
- Code: Alles auswählen
Sub Export_Dienstplan_to_Word()
Dim appWD As Object, wddoc As Object
Dim i As Integer
On Error Resume Next
Set appWD = GetObject(, "Word.application") 'gives error 429 if Word is not open
If Err = 429 Then
Set appWD = CreateObject("Word.application") 'creates a Word application
Err.Clear
End If
Set wddoc = appWD.Documents.Add
appWD.Visible = True
For i = 1 To 3
Select Case i
Case 1 ' Januar
Sheets("Dienstplan").Range("A2:I33").CopyPicture xlScreen
Case 2 'Februar
Sheets("Dienstplan").Range("A34:I62").CopyPicture xlScreen
Case 3 'März
Sheets("Dienstplan").Range("A63:I94").CopyPicture xlScreen
End Select
With appWD.Selection
.PasteSpecial Placement:=wdInLine
.InsertBreak Type:=7
.Collapse
End With
Next i
appWD.Activate
End Sub
So sieht das Ergebnis aus (alle Bilder übereinander, hier von mir leicht versetzt gezogen per Drag&Drop, damit man es sieht):