Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Von Excel nach Word kopieren

566 views
Skip to first unread message

Wolfgang Kutsche

unread,
May 17, 2008, 8:34:01 AM5/17/08
to
Hallo NG,

zur Dokumentation bestimmter Vorgänge benötige ich Information aus einer
Excel-Tabelle in einem Word-Dokument.
Bisher mache ich dies „von Hand“ wie folgt:
1.) Erzeugen einer PDF-Datei von dem gewünschten Bereich der Excel-Tabelle.
2.) PDF-Datei aufrufen und einen „Schnappschuß“ des Bereiches in die
Zwischenablage kopieren.
3.) Einfügen der Zwischenablage in das Word-Dokument und der Seite anpassen.
oder
1.) Gewünschten Bildausschnitt in Excel erzeugen
2.) Mit Taste „Druck“ Bildschirm-Bild in Zwischenablage
3.) Einfügen der Zwischenablage in das Word-Dokument und der Seite anpassen.
In einer Anwendung wird dieser Vorgang häufig benötigt.
Deshalb möchte ich ihn per VBA automatisieren.
Wer kann mir hierzu einen Tipp geben?
Die Methode, den Zellbereich als Tabellen-Objekt in Word zu exportieren,
möchte ich nicht anwenden.
Damit würde der Inhalt in Word veränderbar sein … das soll nicht sein.
Der kopierte Bereich aus Excel soll als Grafik-Objekt in Word eingefügt
werden.

--
Gruß Wolfgang
WinXP Home SP2, Office 2003 SP2
http://www.wk-bau-edv.de

Wolfgang Kutsche

unread,
May 17, 2008, 8:43:00 AM5/17/08
to
Hallo NG,

noch ein Nachtrag ...

Eigentlich reduziert sich mein Problem auf folgende Frage:

Wie kann man per VBA von einem zuvor ausgewählten Bereich einer
Excel-Tabelle eine Grafik erzeugen und diese in die Zwischenablage kopieren?

Thomas Ramel

unread,
May 17, 2008, 10:49:15 AM5/17/08
to
Grüezi Wolfgang

Wolfgang Kutsche schrieb am 17.05.2008

> Eigentlich reduziert sich mein Problem auf folgende Frage:
>
> Wie kann man per VBA von einem zuvor ausgewählten Bereich einer
> Excel-Tabelle eine Grafik erzeugen und diese in die Zwischenablage kopieren?

Mein Makro-Recorder hat das folgende ausgeworfen:

Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture


Aufgezeichnet wie folgt:

- Bereich markieren
- Umschalt-Taste drücken und gedrückt halten
- Menü: 'Bearbeiten'
- Bild kopieren
- Standardwerte belassen
- [OK]

Das Ergebnis konnte ich auch problemlos in Word einfügen.
Je nach Aussehen in Word kannst Du noch mit den Standard-Werten im Dialog
experimentieren.


Mit freundlichen Grüssen
Thomas Ramel

--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps

Andreas78124

unread,
May 17, 2008, 10:53:01 AM5/17/08
to
Hallo Wolfgang,

nachfolgend der VBA-Code für dein Problem.

Zuerst wird ein Worddokument erzeugt.
Dann wird der ausgewählte Bereich in die Zwischenablage und von dort aus an
Word übergeben.

Ich hoffe, der Code hilft.

Gruß
Andreas Baum

Sub Berechnungeins()
Set WordApp = CreateObject("Word.application")
WordApp.Visible = True
Set WordDok = WordApp.Documents.Add
Sheets("NameTabellenblatt").Select
Set Bereich = Sheets("NameTabellenblatt").Range("A1:G239")
Range(Bereich.Address).Copy
Set rng = WordApp.ActiveDocument.Range
WordApp.Selection.PasteSpecial Link:=True
rng.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile
Application.CutCopyMode = False
Set WordApp = Nothing
Set WordDok = Nothing
End Sub

Wolfgang Kutsche

unread,
May 17, 2008, 3:21:01 PM5/17/08
to
Hallo Andreas,
hallo Thomas,

vielen Dank für Eure Hilfe.

Ich habe aus Euren Hinweisen dann folgenden Code für mich getestet und bin
mit dem Ergebnis vollstens zufrieden.

Sub ExcelAlsBildInWord()
Const TabNam = "Tabelle1"
Const Zellbereich = "A59:F86"


Set WordApp = CreateObject("Word.application")
WordApp.Visible = True
Set WordDok = WordApp.Documents.Add

Sheets(TabNam).Select
Set Bereich = Sheets(TabNam).Range(Zellbereich)
' Range(Bereich.Address).Copy
Range(Bereich.Address).CopyPicture Appearance:=xlScreen, Format:=xlPicture


Set rng = WordApp.ActiveDocument.Range
' WordApp.Selection.PasteSpecial Link:=True
' rng.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile

WordApp.Selection.Paste


Application.CutCopyMode = False
Set WordApp = Nothing
Set WordDok = Nothing
End Sub

Das "Range(Bereich.Address).Copy" von Andreas liefert in dem Word-Dokument
eine Tabelle.
Das "Range(Bereich.Address).CopyPicture Appearance:=xlScreen" von Thomas
liefert die gewünschte Grafik.

Nochmals herzlichen Dank an Euch.

0 new messages