# VBA- Excelsheet in Worddokument integrieren



## Kriztopf (6. Juli 2009)

Hallo allerseits.

Ich wühle mich schon seit 2 Tagen durch einige Foren und finde einfach nicht das richtige 

Ich hab ein einfaches problem:
Ich möchte Excel-Datei "Kalk.xls" in ein Word-Dokument einbinden und zwar so das nur der Bereich A1-H7 angezeigt wird. Ich arbeite inerhalb der Tabelle mit Formeln und ich möchte einige Werte verändern können bevor ich die Word Datei drucke... dh. ich möchte nicht nur den Inhalt der Exceltabelle in eine Wordtabelle übertragen.
Und ganz wichtig ist mir das ich die Exceldatei ohne Verlinkung öffne! 

Kann mir da jemand helfen? Ich habe es so probiert :


```
Sub kalkulation_anzeigen()
'
' kalkulation Makro
'
    Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
    FileName:="c:\Kalk.xls", _
    LinkToFile:=False, _
    DisplayAsIcon:=False 'Erstellung des Arbeitsblattes und Öffnen von Excel
    Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
End Sub
```


Ich finde aber keine Lösung um den angezeigten Bereich bzw. die Fenstergröße des Excel-Objekts festzulegen (dh mich stört es sehr das die Komplette Exceldatei angezeigt wird.. das Fenster ist so unschön riesig) und in VBA bin ich (weiß Gott) kein Profi.

Ich habe woanders Hilfe erhalten aber für den neuen Ansatz habe ich keine Lösung gefunden die Exceldatei ohne Verlinkung zu öffnen:


```
Sub kalkulation_anzeigen()
'
' kalkulation Makro
'
    Selection.Fields.Add Range:=Selection.Range, _
        Text:="LINK Excel.Sheet.12 ""c:\\Kalk.xls"" ""Test"" \a \p"
   
    Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
End Sub
```

vielen Dank im vorraus und ich hoffe mir kann da jemand behilflich sein.

Grüße,
Christoph


----------



## Drogist (6. Juli 2009)

Moin,

muss es denn VBA sein? Mit ganz "normalen" Bordmitteln in Word geht das viel einfacher!

Ich denke du kennst das:

In Excel Bereich markieren und kopieren
Dann in Word als Excel-Objekt einfügen und auf "Verknüpfen" klicken
Und danach Änderungen in Excel oder Word (dort per Doppelklick auf die Tabelle) vornehmen.
Im Anhang ist ein Beispiel.


----------



## Kriztopf (8. Juli 2009)

Hallo! 

Ja.. dieser Arbeitsschritt fällt bei mir quasie 10mal pro sekunde an und daher würde ich es gerne per Knopfdruck oder Tastaturkürzel erledigen können  
Trotzdem vielen Dank für deine Hilfe!! 

Gruß,
Christoph


----------



## AirDjan (25. August 2009)

Hallo Kriztopf,
ich habe zurzeit das selbe Problem. Wollte mal fragen ob du schon eine lösung gefunden hast.
gruß

airdjan


----------



## gristopf (26. August 2009)

Sub EinfuegenExcelTab()

    Selection.InsertFile FileName:="c:\\Kalk.xls", Range:="A1:C3", _
        ConfirmConversions:=False, Link:=False, Attachment:=False

End Sub

greetz


----------



## Kriztopf (17. Juni 2010)

Es ist lange her.. ich habe es verdrängt.. aber die letzte Lösungsmöglichkeit knallt mir direkt mal nen Error raus :-(
Eines schönen Tages.... ich freu mich darauf :-D


----------



## Kriztopf (17. Juni 2010)

Kriztopf hat gesagt.:


> Hallo allerseits.
> 
> Ich wühle mich schon seit 2 Tagen durch einige Foren und finde einfach nicht das richtige
> 
> ...



Soooo.. ich wäre bereit für die Lösung dieses Problems zu bezahlen. Wenn zusätzlich ne Möglichkeit besteht das eingefügt Excelobjekt formatiert werden kann das es Layout->vor den Text gelegt werden kann.. dann rein damit. Falls jemand interesse hat PM an mich.. Hoffe das hier ließt der/die Richtige.. oder jemand der so jemanden kennt.... HILFEEEE

Vielen Dank.


----------



## tombe (18. Juni 2010)

Also du hattest vor ziemlich genau 1 Jahr ein Problem und hast jetzt bemerkt das du dieses Problem noch immer hast?



> dh. ich möchte nicht nur den Inhalt der Exceltabelle in eine Wordtabelle übertragen.





> Und ganz wichtig ist mir das ich die Exceldatei ohne Verlinkung öffne!



Ich versuche gerade zu verstehen welches Problem du hast doch ich komme nicht dahinter.

- Was bedeutet du willst nicht nur den Inhalt der Excel Tabelle übertragen?
- Was verstehst du unter "ohne Verlinkung"?

*Du hast eine Excel Tabelle und möchtest aus dieser einen bestimmten Bereich ("A1:H7") in Word haben wobei Änderungen in Excel sofort in Word angezeigt werden sollen.*
Das kannst du so wie am 06.07.09 von Drogist beschrieben erledigen. Wenn du in Excel etwas änderst, wird es sofort nach Word übertragen.

*Der Bereich der Excel Tabelle soll so formatiert werden das er vor den Text gelegt werden kann?*
Dann klicke den Bereich den du wie oben beschrieben eingefügt hast mit der rechten Maustaste an und formatieren ihn entsprechend.



> Soooo.. ich wäre bereit für die Lösung dieses Problems zu bezahlen


Wenn ich dich falsch verstanden habe, dann sag nochmal Bescheid. Ansonsten melde dich und ich geb dir meine Kontonummer 

Gruß Thomas


----------



## Kriztopf (23. Juni 2010)

Hallo Thomas,

ich hab mich quasie ein Jahr mit dem Kompromiss abgefunden den ich gerade verwende. 
Und in der Tat ist meine Beschreibung recht treffend, auch wenn sie nicht direkt den Anschein erweckt  
Und wenn es dich interessiert kannst du beide Fälle gerne mal testen.. es gibt nen riiiiesigen unterschied zwischen beiden Lösungen und keine von beiden
gefällt mir :-D .. und auch wenn es mit Rechtsklick.. kopieren und einfügen geht.. auch wenn du sagst es sind nur 4-5 Klicks... an manchen Tagen komm 
ich allein dadurch auf 1000000 Mausklicks extra und da es ja irgendwie anders geht will ich diese nicht mehr machen müssen  
Also so ausführlich beschrieben wie ich es kann:

Halb akzeptierte Lösung mit Kompromissen 1:

```
Sub kalkulation_anzeigen()
'
' kalkulation Makro
'
    Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", _
    FileName:="c:\Kalk.xls", _
    LinkToFile:=False, _
    DisplayAsIcon:=False 'Erstellung des Arbeitsblattes und Öffnen von Excel
    Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
End Sub
```

Was an dieser Lösung gut ist im Vergleich zur anderen Lösung: 

Wenn ich diese Lösung verwende ist jede Worddatei samt einbezogener Kalkulationstabelle eigenständig 
(ich kann also die Datei Kalk.xls verändern, ohne das ich jedes mal wenn ich eine Worddatei öffne, in diese ich die Kalkulation mit oben genanntem 
Code eingefügt habe, gefragt werde: "Dieses Dokument enthällt Verknüpfungen, die möglicherweise auf andere Dateien verweisen. Möchten sie [...] ?" ). Nein.. ich möchte es nicht.. niemals.. nie wieder  

Mein Problem mit dieser Lösung: 

Wenn ich die Kalkulation so in das Dokument einfüge wirds hässlich. Meine Kalkulationsdatei "Kalk.xls" hat 130Zeilen und 10 Spalten die ich zur Bereichnung leider Brauche.
Ich will jedoch nur einen Teilbereich anzeigen lassen. Mit der Lösung oben werden alle Zeilen und Spalten dargestellt.. und da auf dem DinA4 Dokument nunmal zuwenig 
Platz ist skaliert er es unlesbar klein. Ich will also wenn ich einen Doppelklick auf das Objekt inerhalb des Worddokuments Werte verändern können.. er soll mir aber bitte
nur den kleinen Bereich anzeigen wo drin steht was mich interessiert ;-)
Naja und ... Rechtsklick -> Objekt formatieren.. -> Layout -> Hinter den Text .. ich mach es nicht gern. 


Halb akzeptierte Lösung mit Kompromissen 2:

```
Sub kalkulation_anzeigen()
'
' kalkulation Makro
'
    Selection.Fields.Add Range:=Selection.Range, _
        Text:="LINK Excel.Sheet.12 ""c:\\Kalk.xls"" ""Test"" \a \p"
   
    Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
End Sub
```

Was an dieser Lösung gut ist im Vergleich zur anderen Lösung: 

Juhu.. ich kann den Anzeigebereich festlegen... hübsch hübsch hübsch 


Mein Problem mit dieser Lösung: 

"Dieses Dokument enthällt Verknüpfungen, die möglicherweise auf andere Dateien verweisen. Möchten sie [...] ?" ). Nein.. ich möchte es nicht.. niemals.. nie wieder  
Naja und ... Rechtsklick -> Objekt formatieren.. -> Layout -> Hinter den Text .. ich mach es nicht gern. 


Warum ich bereit bin dafür zu bezahlen? 


Weil ich genervt bin
Weil ich weiß, dass es möglich ist es per Makro machen zu können 
Weil ich jemanden ein paar $ reicher machen möchte der es kann

Grüße.


----------



## tombe (24. Juni 2010)

Hallo Christoph,

kannst du mal eine fertige Datei mit Beispieldaten hier einstellen. Mich würde vor allem mal interessieren wie du dir die Positionierung genau vorstellst.

Gruß Thomas


----------

